PDA

View Full Version : سوال: رسم نمودار زاویه و سرعت حرکت دستگاه



elahe1393
چهارشنبه 29 مرداد 1393, 11:49 صبح
با سلام
در حال نوشتن برنامه ای هستم فرد از طریق کامپیوتری که از طریق پورت سریال به دستگاهی متصل است یک بازه زاویه حرکت و تعداد تکرار را تعیین می کند سپس پس از شروع حرکت از طریق همان پورت یک سری اطلاعات دریافت می کند تا با یک سری معادله سرعت حرکت را در هر زاویه ذخیره نماید مشکل من قسمتی است که نیاز دارم زوایا و سرعت حرکت در هر زاویه را در هر تکرار روی یک نمودار نمایش دهم
در تصویری که براتون قرار میدم نمونه تصوری از نمودار رو نشون میدم که در یک محدوده زاویه حرکت در هر زاویه دستگاه یک سرعتی داره که در محور x بازه مینیمم و ماکسیمم سرعت مشخص شده و نمودار از زاویه شروع تا زاویه پایان رسم شده این رسم نمودار در هر تکرار حرکت یک نمودار کلی را نشان می دهد که بازه سرعت و بازه زاویه یکی فقط محل نمایش منحنی نمودار به جلو منتقل می شود
122472
از طرفی اطلاعات زیادی برای رسم نمودار و استفاده از متدهای رسم گرافیک ندارم لطفا راهنمایی کنید

elahe1393
شنبه 01 شهریور 1393, 09:17 صبح
آیا با اعمال تغییرات در کد برنامه زیر می توانم به نتیجه موردنظرم برسم شدیدا نیاز به راهنمایی دارم
122570

alibilgats
شنبه 01 شهریور 1393, 10:38 صبح
سلام دوست عزیز
اول اینکه توضیحاتتون آدم رو کمی گیج میکنه
دوم اینکه تصویر ضمیمه ای که گذاشتید لینکش خرابه
و سوم اینکه فایل پروژه ای که گذاشتید هیچ چیزی رو مشخص نمیکنه! چند خط کد که نه خروجی داره و نه درست اجرا میشه!
شما الان مشکلتون دقیقا چیه؟ فقط رسم نموداره؟

elahe1393
شنبه 01 شهریور 1393, 11:17 صبح
در مورد توضیحات باید عرض کنم برنامه ای می نویسم که باید براساس تنظیماتی که تعیین میشه (بازه ای از دو زاویه حرکت دستگاه، تعداد تکرار و سختی حرکت) از طریق پورت سریال که به دستگاهی وصل شده داده ارسال میکنه و دستگاه با استفاده از این داده ها اعمالی رو انجام می ده و در هر تکرار داده هایی رو از طریق همون پورت به برنامه می فرسته تو داده هایی که میفرسته من باید بتونم سرعت حرکت در هر زاویه بازه تعیین شده رو بدست بیارم سپس این اطلاعات رو در نمودار نمایش بدم
نمودار شامل بازه زاویه حرکت و بازه سرعت می باشد که می خوام در هر حرکت با توجه به تغییر زاویه در بازه زاویه تغییر سرعت هم نمایش داده بشه این نمودار بصورت دایره ای 360 درجه زاویه رو نمایش بده بعد تو ناحیه ای که زاویه تغییر میکنه بازه تغییر سرعت هم تعیین بشه و در اون محدوده منحنی نمایش این تغییرات نمایش داده بشه در آخر هم نمودار بصورتی باشه که کلیه منحنی ها رو که از طریق هر تکرار حرکت بدست میاد در یک نمودار بصورت کلی نمایش بده
تصویر شامل تصور من از نمودار
122568
حالا مشکل اصلی من اینه که اطلاعات کمی در مورد رسم کردن نمودار در سی شارپ دارم و می خوام این نمودار را با این مشخصات برنامه نویسی کنم نیاز به راهنمایی و کمک دارم
اون کد برنامه 122571 به این منظور پیوست کردم می خوام ببینم از طریق تغییراتی که تو این کد بدم می تونم به نتایجی که می خوام برسم لطفا راهنمایی کنید

محمد آشتیانی
شنبه 01 شهریور 1393, 11:29 صبح
سلام
ببینید دوست عزیز ، طرح درست مسئله خیلی میتونه کمک کنه برای به جواب رسیدن
شما یک سری اطلاعات فرضی رو میفرمائید و بر اساس اون درخواست دارید که دوستان شما رو یاری کنن ، اما اصلا نمی فرمائید که اون دستگاه داده ها رو با چه فرمتی به شما میده
یا شما آیا پردازشی روی اون اطلاعات می کنید یا خیر ، آیا داده ها داخل بانک اطلاعاتی ذخیره میشن یا به ترتیب دیگری هست و چندین و چند سوال دیگه
و اما به نظر بنده اگر میخواهید به جواب برسید ، به این سوالات در قالب پروژتون پاسخ بدید ، یعنی پروژتون رو بسازید ، اطلاعات رو از دستگاه بگیرید و با فرمت مناسب ذخیره کنید بعد اگر برای ساخت نمودار مشکل داشتید بر اساس برنامتون راهنمایی بگیرید.




موفق باشید.

elahe1393
شنبه 01 شهریور 1393, 11:49 صبح
من الان تو بخش رسم نمودار مشکل دارم داده های دریافتی بصورت رشته دریافت میشه که سلکتور داره پردازشی روی داده ها انجام میدم و نتیجه رو در دیتابیس ذخیره می کنم حالا می خوام اطلاعاتمو در لحظه حرکت رو نمودار نمایش بدم با توضیحاتی که قبلا دادم می خوام کد برنامه رو بنویسم که به احتمال زیاد به اطلاعات برنامه نویسی گرافیکی نیاز داره حالا یه راهنمایی برای طریقه کدنوشتن برای رسیدن به یه همچین نموداری می خوام تا یه جرقه ای برای پیداکردن راه حل باشه
کدی که در پستهای قبلی گذاشتم یه نمونه برای رسم نموداره که شامل زوایا و رسم منحنی در بازه ای از زاویه است می خوام ببینم اگه تو این کد تغییراتی بدم می تونم به نموداری که مدنظرم هست برسم

محمد آشتیانی
شنبه 01 شهریور 1393, 12:09 عصر
بله با این روش امکانش هست ، در واقع شما همه کارهای مربوط به رسم نمودار رو باید از طریق کد کنترل کنی و نمودار رو رسم کنی و البته کدی که شما نیاز داری با این پروژه نمونه متفاوته ولی فکر میکنم از همین تکنیک باید استفاده کنی
البته اینم در نظر داشته باش این روش برای گرفتن خروجی چاپی مناسب نیست.




موفق باشید.

elahe1393
شنبه 01 شهریور 1393, 12:14 عصر
کمی در درک کد نمونه هم مشکل دارم لطفا اگر منبعی برای کسب اطلاعات برای کدنویسی این برنامه وجود داره که کمی منو با پیش نیازها و طریقه کدنویسی کمک کنه معرفی کنید
درضمن چرا این روش برای گرفتن خروجی چاپی مناسب نیست؟

محمد آشتیانی
شنبه 01 شهریور 1393, 12:50 عصر
اتفاقا نمونه کد شما نمونه کد ساده ای بود
شما باید دنبال +Graphics with GDI بگردی و آموزش ها رو ببینی ، مبحث سختی نیست
اینم یه مقاله (البته انگلیسی) : http://www.codeproject.com/Articles/1355/Professional-C-Graphics-with-GDI

از این دست آموزش ها و مقالات و همچنین پروژه نمونه زیاد پیدا میکنی.
و برای چاپ مناسب نیست چون این ترسیم برای نمایش روی مانیتور هست و کیفیت لازم برای چاپ رو نداره.

elahe1393
یک شنبه 02 شهریور 1393, 10:49 صبح
ممنون از راهنماییتون من کد رو از نظر استایل نمودار تغییر دادم حالا نمیدونم چطوری مینیمم و ماکسیمم سرعت رو مقدار دهی کنم تا بین محدوده تغییر زاویه حرکت دستگاه بتونم تغییر سرعت رو نشون بدم و در هر تکرار بتونم رو یه نمودار منحنی رو بکشم چیزی به ذهنم نمیرسه نیاز به راهنمایی دارم
122616

elahe1393
یک شنبه 02 شهریور 1393, 12:48 عصر
من تعیین کردم دستگاه از یک زاویه تا یک زاویه حرکت کنه سرعت حرکت در هر زاویه اون بازه رو بهم میده من تو دیتابیس ذخیرش کردم این حرکت چندبار تکرار میشه و هر دفعه نتیجه ای متفاوت داره همه رو ذخیره می کنم حالا می خوام این نتایج رو روی نمودار نشون بدم به این صورت که در حرکت اول بین دو زاویه تعیین شده در محدوده دایره نقطه چین اول می خوام سرعت رو در هر نقطه نشون بدم که تشکیل یه منحنی میده بعد در حرکت دوم بین دو زاویه قبلی در محدوده دایره نقطه چین دوم مجدد سرعت در هر زاویه رو نشون بدم که تشکیل یه منحنی دیگه میده همین طور در هر تکرار یه منحنی جدید در محدوده دایره های نقطه چین بعدی حالا مشکلم اینه که چطوری داده های رو از دیتابیس بکشم بیرون سرعتو چطوری تعیین کنم که بتونم منحنی بکشم چطوری منحنی رو بکشم معادله خاصی می خواد چطوری این هماهنگی ها رو انجام بدم نیاز به راهنمایی دارم واقعا گیج شدم

elahe1393
یک شنبه 02 شهریور 1393, 15:35 عصر
از صبح پای برنامه نویسی بودم به راه حل درستی نرسیدم به مشکل برمی خورم لطفا راهنمایی کنید.

elahe1393
دوشنبه 03 شهریور 1393, 08:11 صبح
امروزم هم شروع شد لطفا راهنمایی کنید من برای به نتیجه رسیدن چیکار کنم از چه راهی برم راهکار چیه؟

rahnema1
دوشنبه 03 شهریور 1393, 09:07 صبح
کنترل چارت خودش اینها را داره که می تونید نوع چارت را قطبی یا عنکبوتی ( رادار) انتخاب کنید
در این مثال نمودار قطبی polar هست
کافیه یک جدول داشته باشید که زاویه با x و سرعت با y مشخص شده باشه
مثلا در این مثال ساده بین زاویه 30 تا 90 یه سری اعداد رندوم میذاریم
http://www.sharefile.ir/uploads/1409004674.zip

elahe1393
دوشنبه 03 شهریور 1393, 12:55 عصر
ممنون از راهنماییتون
دو تا سوال دارم
1. تو کد نمونه ای که قرار دادید من هرچی می گردم نمیتونم پیدا کنم که از چه طریق نوع نمودار را عنکبوتی انتخاب کردید و همچنین مقدار محور را چطور تعیین کردید؟
2. من اگه بخوام تو کد برنامه 122655 مجدد اطلاعات دیتابیس را در حلقه دوم بصورت منحنی تکرار کنم که نقطه شروع از نقطه مبدا دستگاه نباشه و بعد از حداکثر سرعت منحنی اول باشه چیکار باید بکنم و همین طور چندین بار این قضیه رو تکرار کنم تا تعدادی منحنی روی یک نمودار نمایش داده بشه با فاصله

rahnema1
دوشنبه 03 شهریور 1393, 14:10 عصر
خصوصیات چارت را میشه به صورت ویژوال از طریق properties تنظیم کرد از جمله نوع چارت را که در قسمت series هست
کدش به صورت اتوماتیک ایجاد شده و در فایل MainForm.Designer.cs قرار داره

series1.ChartType = System.Windows.Forms.DataVisualization .Charting.SeriesChartType.Polar;


کد شما را امتحان نکردم روی کد خودم اجرا کردم که point بعنوان محور x و speed هم بعنوان محور y در نظر گرفتم:

http://www.sharefile.ir/uploads/1408977729.zip

elahe1393
دوشنبه 03 شهریور 1393, 14:18 عصر
مرسی از راهنماییتون
اگر بخوام همین منحنی رو چندبار دیگه رو همون نمودار تکرار کنم به طوری که تکرار دوم بعد از حداکثر مقدار منحنی اول رسم بشه و همین طور منحنی سوم بعد از حداکثر مقدار منحنی دوم رسم بشه و فقط منحنی اول نزدیک نمودار باشه بعدی ها از نمودار دور بشن چیکار کنم

rahnema1
دوشنبه 03 شهریور 1393, 14:42 عصر
کافیه به چارت چند تا series اضافه کنید هر کدوم برای یک منحنی
البته یک نکته باید مقدار سرعت را برای هر منحنی با یک مقدار جمع کنید که اون یکی در بالای دیگری بیفته

elahe1393
دوشنبه 03 شهریور 1393, 14:59 عصر
میتونم ازتون تقاضا کنم کد نمونه منم ببینید و راهنمایی کنید که در اون کد چیکار باید بکنم تا به همچین نتیجه ای برسم با سپاس

rahnema1
دوشنبه 03 شهریور 1393, 15:02 عصر
میتونم ازتون تقاضا کنم کد نمونه منم ببینید و راهنمایی کنید که در اون کد چیکار باید بکنم تا به همچین نتیجه ای برسم با سپاس

چه فرقی می کنه؟ چارت که راحت تره. حتما کد خودتون باید باشه؟

elahe1393
دوشنبه 03 شهریور 1393, 15:06 عصر
چه فرقی می کنه؟ چارت که راحت تره. حتما کد خودتون باید باشه؟
چون من از این کد تو یه برنامه استفاده کردم که استفاده از چارت شاید جواب نده به همین خاطر می خوام ببینم میشه تو همین کد به نتیجه برسم

rahnema1
دوشنبه 03 شهریور 1393, 15:20 عصر
سر در نمیارم از این کد. همون چارت را استفاده کنید راحت و کم دردسر

elahe1393
سه شنبه 04 شهریور 1393, 11:01 صبح
دلیل اینکه در این تابع برنامه
private string ReceiveData(SerialPort serialPort)
{
try
{
string receiveData;
receiveData = serialPort.ReadExisting();
return receiveData;
}
catch
{
MessageBox.Show("امکان دریافت اطلاعات وجود ندارد \nلطفا از باز بودن پورت مطمئن شده و مجددا امتحان کنید", "دریافت اطلاعات از دستگاه");
}
}
پیغام خطا not all code paths return a value را می دهد چیست؟

alibilgats
سه شنبه 04 شهریور 1393, 11:20 صبح
دوست خوبم شما تا حالا چقد با سریال پورت کار کردین؟
لطفا میزان آشنایی خودتون از #C و مبحث سریال پورت رو مشخص کنید تا منم بتونم کمکتون کنم.
من سریال پورت کار کردم و یه سری تجربیات دارم که میتونم در اختیارتون قرار بدم.

elahe1393
سه شنبه 04 شهریور 1393, 11:53 صبح
دوست خوبم شما تا حالا چقد با سریال پورت کار کردین؟
لطفا میزان آشنایی خودتون از #C و مبحث سریال پورت رو مشخص کنید تا منم بتونم کمکتون کنم.
من سریال پورت کار کردم و یه سری تجربیات دارم که میتونم در اختیارتون قرار بدم.

اطلاعاتی در مورد سی شارپ دارم برای اولین بار است پروژه ای در دست گرفتم که شروع کردم با پورت سریال کار کردن و می خوام در طی انجام پروژه هم سی شارپ و مباحث مختلفشو یادبگیرم دلم می خواد از تجربیات و اطلاعات شما دوستان بهره ببرم تا بتونم تو این زمینه دارای مهارت بشم
الان تابعی برای دریافت اطلاعات پورت سریال تو برنامه نوشتم که این خطایی که در بالا گفتم رو داده در ضمن الان هم که خواستم تست کنم زمانیکه دستگاه توسط usb به لپ تاپ وصل هست و داره کار میکنه وقتی می خوام توسط برنامه اطلاعات رو به دستگاه بفرستم نمیتونم همان پورت مورد استفاده دستگاه رو باز کنم یعنی باید همین جوری اطلاعات رو بفرستم نمی دونم باید چه کنم

alibilgats
سه شنبه 04 شهریور 1393, 12:00 عصر
ببین دوست خوبم واسه کار کردن با پورت سریال نکات ریز و درشت زیادی رو باید بلد باشی!
مثلا از چه سخت افزاری استفاده میکنی برای ارتباط طرف دوم؟ میکرو کنترلت چیه؟ AVR یا ARM؟
کد اون طرف رو هم خودت مینویسی؟
از چه کرستالی استفاده میکینی؟ تا چه سرعتی یا بادریتی استفاده میکنی؟ و کلی مسائل دیگه!

وقتی این قضایا مشخص شد تازه میرسی به کد نویسی توی سی شارپ!

elahe1393
سه شنبه 04 شهریور 1393, 12:12 عصر
ببین دوست خوبم واسه کار کردن با پورت سریال نکات ریز و درشت زیادی رو باید بلد باشی!
مثلا از چه سخت افزاری استفاده میکنی برای ارتباط طرف دوم؟ میکرو کنترلت چیه؟ AVR یا ARM؟
کد اون طرف رو هم خودت مینویسی؟
از چه کرستالی استفاده میکینی؟ تا چه سرعتی یا بادریتی استفاده میکنی؟ و کلی مسائل دیگه!

وقتی این قضایا مشخص شد تازه میرسی به کد نویسی توی سی شارپ!

کد دستگاه نوشته شده و دستگاه ساخته شده و کار میکنه الان می خوام برنامه ای بنویسم که دستگاه رو کنترل کنه از جهت اینکه یک سری اطلاعات مثل زوایای تغییر حرکت و سختی این تغییر و تعداد تکرار رو میفرسته بعد وقتی دستگاه با این اطلاعات شروع به کار کرد نتایج رو دوباره به برنامه بفرسته تا بتونه اطلاعات رو ذخیره کنه و گزارشات و نمودارهایی رو تهیه کنه و نشون بده ارتباط دستگاه با کامپیوتر هم از طریق پورت سریاله و بادریتی هم 19200 البته قابل تنظیم هست الان برنامه ای که نوشتم رو خواستم تست کنم تا اطلاعات بفرستم و دریافت کنم که با مشکل باز کردن پورت مواجه شدم اول دستگاه رو به یه پورت usb وصل کردم دستگاه کار کرد برنامه نتونست پورتو باز کنه بعد usb رو عوض کردم برنامه دستگاه کار نکرد ولی برنامه من کار کرد و اطلاعات گرفتم حالا می خوام ببینم قضیه چیه چطوری باید با این پورت کار کنم
البته مشکل اون تابع هم هست می خوام کدم دسته بندی خوبی داشته باشه

محمد آشتیانی
سه شنبه 04 شهریور 1393, 12:44 عصر
دلیل اینکه در این تابع برنامه
private string ReceiveData(SerialPort serialPort)
{
try
{
string receiveData;
receiveData = serialPort.ReadExisting();
return receiveData;
}
catch
{
MessageBox.Show("امکان دریافت اطلاعات وجود ندارد \nلطفا از باز بودن پورت مطمئن شده و مجددا امتحان کنید", "دریافت اطلاعات از دستگاه");
}
}
پیغام خطا not all code paths return a value را می دهد چیست؟

سلام
این خطا به این خاطر هست که میگه تو همه مسیرهای اجرای کد ، ممکنه تابع شما مقدار برنگردونه ، یعنی اگر خطا رخ بده و بره تو بخش catch دیگه تابع شما مقدار برنمیگردونه.


موفق باشید

elahe1393
سه شنبه 04 شهریور 1393, 13:26 عصر
مرسی پس من بعد catch دستور ;return null بنویسم مشکل حل میشه
اگر بخوام تو یه رشته که سلکتور # \r\n داره بخوام split کنم دستورش چی میشه؟
string[] split = recieveData.Split(new char[] {'# \r\n'});
این درست نیست

elahe1393
سه شنبه 04 شهریور 1393, 13:46 عصر
حلش کردم میشه
string[] recieveDataSplit = recieveData.Split(new string[] {"# \r\n"},StringSplitOptions.RemoveEmptyEntries);

alibilgats
سه شنبه 04 شهریور 1393, 13:54 عصر
تو میخوای ارتباط full باشه! یعنی دریافت و ارسال اطلاعات دوطرفه انجام بشه.
پس به نظر من اول باید یه برنامه tester بنویسی! برنامه ای که مانیتورینگ رو انجام بده تا معلوم بشه اطلاعات ارسالی از دستگاه توی سیستم بصورت کامل و بدون ایراد دریافت میشه یا نه! و برعکس روی دستگاهت هم باید کدی بنویسی که وقتی داده ها رو از سیستم براش میفرستی روی display یا همون lcd چاپ کنه. البته اگه داشته باشه.
تو داده هاتو با # به هم میچسبونی؟ طول داده ای که از دستگاه میفرستی چقده؟ چند کاراکتر؟

elahe1393
سه شنبه 04 شهریور 1393, 14:08 عصر
تو میخوای ارتباط full باشه! یعنی دریافت و ارسال اطلاعات دوطرفه انجام بشه.
پس به نظر من اول باید یه برنامه tester بنویسی! برنامه ای که مانیتورینگ رو انجام بده تا معلوم بشه اطلاعات ارسالی از دستگاه توی سیستم بصورت کامل و بدون ایراد دریافت میشه یا نه! و برعکس روی دستگاهت هم باید کدی بنویسی که وقتی داده ها رو از سیستم براش میفرستی روی display یا همون lcd چاپ کنه. البته اگه داشته باشه.
تو داده هاتو با # به هم میچسبونی؟ طول داده ای که از دستگاه میفرستی چقده؟ چند کاراکتر؟

بله می خوام ارتباط full باشه دستگاه هیچ lcd نداره کل اطلاعات در حین حرکت بصورت realtime می خوام روی نمودار نمایش داده بشه اطلاعاتی که تو کامپیوتر تنظیم می کنم با توجه به یه فرمولی به رشته ای که دستگاه میشناسه تبدیل می کنم بعد عکس العمل دستگاه رو بصورت رشته دریافت می کنم بعد در لحظه باید این رد و بدل انجام بشه و نتیجه حرکت تو برنامه روی کامپیوتر نمایش داده بشه
داده هایی که از دستگاه میگیرم
"$28221,0,0,18,0,0,0# \r\n$28222,0,0,18,0,0,0# \r\n$28223,0,0,18,0,0,0# \r\n$28224,0,0,18,0,0,0# \r\n$28225,0,0,18,0,0,0# \r\n$28226,0,0,18,0,0,0# \r\n$28227,0,0,18,0,0,0# \r\n$28228,0,0,18,0,0,0# \r\n$28229,0,0,18,0,0,0# \r\n$28230,0,0,18,0,0,0# \r\n$28231,0,0,18,0,0,0# \r\n$28232,0,-1,17,0,0,0# \r\n"
همچین چیزیه طولشو نمیدونم چقدره ولی در هر لحظه باید دریافت بشه ذخیره بشه و نمایش داده بشه
حالا می خوام دریافت و ارسال دوطرفه باشه چیکار کنم

alibilgats
سه شنبه 04 شهریور 1393, 14:37 عصر
ببین دوست عزیز.
روش ارسال اطلاعات به سریال پورت به این شکل هستش که وقتی دستگاه اطلاعات رو میفرسته به کامپیوتر داده ها توی buffer ریخته میشن و شما هر زمان که بافر رو میخونی داده ها تا اون جایی که رسیده برداشته میشه و دوباره همین چرخه تکرار میشه! یعنی ممکنه اون لحظه که شما بافر رو میخونی نصف بسته از داد ها اومده باشه! و باید طوری مدیریت کنی که این اطلاعات به هم نریزه و سالم به دستت برسه!

اینطوری که من فهمیدم طول بسته های شما 20 کاراکتر ثابته! درسته؟ یا اینکه ممکنه کمتر یا بیشتر بشه؟

بسته هاتون با $ شروع میشه و به # ختم میشه! درسته؟ بین بسته هاتون کاراکتر فاصله هم میذارید؟ r\n\ زیاد مهم نیست

این سوالا رو میپرسم چون میدونم این مسایل مهم هستن! و باید مشخص بشن.

elahe1393
سه شنبه 04 شهریور 1393, 14:52 عصر
ببین دوست عزیز.
روش ارسال اطلاعات به سریال پورت به این شکل هستش که وقتی دستگاه اطلاعات رو میفرسته به کامپیوتر داده ها توی buffer ریخته میشن و شما هر زمان که بافر رو میخونی داده ها تا اون جایی که رسیده برداشته میشه و دوباره همین چرخه تکرار میشه! یعنی ممکنه اون لحظه که شما بافر رو میخونی نصف بسته از داد ها اومده باشه! و باید طوری مدیریت کنی که این اطلاعات به هم نریزه و سالم به دستت برسه!

اینطوری که من فهمیدم طول بسته های شما 20 کاراکتر ثابته! درسته؟ یا اینکه ممکنه کمتر یا بیشتر بشه؟

بسته هاتون با $ شروع میشه و به # ختم میشه! درسته؟ بین بسته هاتون کاراکتر فاصله هم میذارید؟ r\n\ زیاد مهم نیست

این سوالا رو میپرسم چون میدونم این مسایل مهم هستن! و باید مشخص بشن.

بسته ها 20 کاراکتر ثابته با $ شروع و به # ختم میشه
اطلاعات شامل توان و سرعت و زاویه دو محور چپ و راست هست
حالا این ارتباطو چطور full برقرار کنم و اینکه داده هایی که تو بافر هستن چطور می تونم طوری تفکیک کنم که مشخص بشه ماله کدوم تکرار هست و کدوم بازو در چه زاویه ای این نتیجه رو داده

alibilgats
سه شنبه 04 شهریور 1393, 15:03 عصر
همونطور که گفتم باید اول یه مانیتورینگ درست کنید تا بسته های دریافتی رو بصورت تفکیک شده نمایش بده.
اگر اجازه بدین من تا شب یه کدی براتون آماده میکنم.
ولی به نظرم بهتره ادامه پرسش و پاسخ رو بصورت پیام در خدمتتون باشم. چون اگه اینطوری جلو بریم این پست خیلی سنگین میشه.

elahe1393
سه شنبه 04 شهریور 1393, 15:08 عصر
ممنون که وقتتونو برای کمک به بنده صرف می کنید کمال تشکرو دارم اگه راهنمایی کنید که بتونم از پس این کدنویسی بربیام

elahe1393
چهارشنبه 05 شهریور 1393, 12:18 عصر
کلاسی به نام PointSpeed تعریف کردم سپس یک لیستی از این نوع داده تعریف کردم List<PointSpeed> بعد از این نوع داده در توابعی استفاده کردم
public void DrawChart(List<pointSpeed> listRecievedData, string sid, int reapet)
public List<pointSpeed>InsertSpeedDataInPosition(string recieveData)
public void InsertSpeedData(List<pointSpeed> listRecieveData, string sid)
حالا موقع اجرای برنامه برای هر سه تابع فوق خطایی مشابه
Inconsistent accessibility: parameter type 'System.Collections.Generic.List<SportDevice.Main.pointSpeed>'
is less accessible than method 'SportDevice.Main.DrawChart(System.Collections.Gen eric.List<SportDevice.Main.pointSpeed>, string, int)'

میده (این برای تابع اولی هست) مشکل کجاست؟

elahe1393
چهارشنبه 05 شهریور 1393, 13:27 عصر
مشکلمو حل کردم نوع کلاسم private بود نوع داده های داخلی public باید نوع کلاسم هم public باشه

elahe1393
چهارشنبه 05 شهریور 1393, 13:57 عصر
یک لیست listRecievedData دارم که از نوع List<pointSpeed> هست می خوام داده های اونو روی نمودار رسم کنم از کد زیر برای ساختن سری استفاده کردم
chartRight.Series[i].Points.DataBind(listRecievedData, "RightPoint", "RightSpeed", "");
پیغام خطای
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
میده مشکل چیه؟
اگر حلقه foreach بزنم و یکی یکی داده ها رو از طریق
chartLeft.Series[i].Points.AddXY(point, speed);
به سری اضافه کنم بازم همین خطارو میده

elahe1393
چهارشنبه 05 شهریور 1393, 15:06 عصر
لطفا یه راهنمایی بکنید نمیدونم مشکل از کجاست هرچی سرچ می کنم تست می کنم حل نمیشه

elahe1393
شنبه 08 شهریور 1393, 08:47 صبح
یک لیست listRecievedData دارم که از نوع List<pointSpeed> هست می خوام داده های اونو روی نمودار رسم کنم از کد زیر برای ساختن سری استفاده کردم
chartRight.Series[i].Points.DataBind(listRecievedData, "RightPoint", "RightSpeed", "");
پیغام خطای
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
میده مشکل چیه؟
اگر حلقه foreach بزنم و یکی یکی داده ها رو از طریق
chartLeft.Series[i].Points.AddXY(point, speed);
به سری اضافه کنم بازم همین خطارو میده

میشه یکی یه راهنمایی بکنه ببینم مشکل کجاست؟
اعضای این لیست من شامل شش property است که 4تاش int و 2تاش string هست

elahe1393
شنبه 08 شهریور 1393, 12:56 عصر
کسی نیست یه راهنمایی بکنه؟

elahe1393
یک شنبه 09 شهریور 1393, 11:28 صبح
این فرمت نوشتن غلطه مشکل از کجاست لطفا راهنمایی کنید

elahe1393
دوشنبه 10 شهریور 1393, 09:31 صبح
یک لیست listRecievedData دارم که از نوع List<pointSpeed> هست می خوام داده های اونو روی نمودار رسم کنم از کد زیر برای ساختن سری استفاده کردم
chartRight.Series[i].Points.DataBind(listRecievedData, "RightPoint", "RightSpeed", "");
پیغام خطای
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
میده مشکل چیه؟
اگر حلقه foreach بزنم و یکی یکی داده ها رو از طریق
chartLeft.Series[i].Points.AddXY(point, speed);
به سری اضافه کنم بازم همین خطارو میده

لطفا یکی یه راهنمایی بکنه ببینم مشکل کجاست اصلا میشه برای ساخت یه سری که یک منحنی رو نمودار رسم بشه از یه لیست استفاده کرد که هر رکوردش دارای چند تا property باشه که از دوتاش برای مقداردهی استفاده بکنه اگه میشه پس چرا این کد من خطا داره نحوه تعریفم اشتباهه