بلاگی در مورد دیجیتال و پردازش تصویرو برنامه نویسی

طبقه بندی موضوعی

هدف این مظلب و بخش های بعدیش، ارتقای الگوریتم فعلی برنامه نوشته شده با #C که Multithread هست(مثلا به کمک ThreadPool )    به   الگوریتم توزیع شده ای* که بار پردازشی رو بین چند سیستم مجزا(مثلا بین 10 تا PC) پخش میکنه.

\!/ این نوشته و بخش های بعدیش، بیشتر عملی هست تا علمی!
یعنی هدف بررسی تئوری و توضیح علمی و ... نیست و بیشتر گزارشی از تلاش های انجام گرفته برای پیاده سازی چنین هدفیست.

در ادامه پروژه های متن باز موجود بررسی میشوند.
  • صالح جمالی

هدف: بجای IP، یه اسمی بنویسید و در نهایت اون اسم به یک IP مشخص resolve بشه


به فولدر زیر برید:

C:\Windows\System32\Drivers\etc


فایل hosts رو با نوت پد باز کنید


همونطور که معلومه # علامت کامنت هست و باید در یک سطر جدید .و بدون # ، اول IP و بعد tab و بعد string مد نظرتون رو وارد کنید


مثال:

192.168.1.60           gitlab_server


به همین سادگی!


منبع:

https://support.rackspace.com/how-to/modify-your-hosts-file/

  • صالح جمالی

درود و وقت بخیر

شاید برای شما هم پیش اومده باشه که نیاز داشته باشید به استفاده از static library ای که در زبان ++C که کلاس و آبجکت داره، نوشته شده، در زبان دیگه ای مثل C که کلاس و آبجکت رو پشتیبانی نمیکنه!

خب اینجاست که مفهوم Class Wrapping مطرح میشه.

روشی که بکمک اون، در سمت ++C ساختاری پیاده سازی میشه که از زبان C قابل استفاده باشه.


در ضمن static library در مقابل dynamic library هست. تفاوت این دو که پسوندشون به ترتیب lib و DLL هست، در زمان لود شدنشون به برنامه میزبان هست.

DLL در runtime توسط میزبان load میشه، در حالی که static library موقع بیلد شدن برنامه میزبان، ازش استفاده میشه.


  • صالح جمالی


شاید شما هم در پروژه ای که انجام میدید احساس کنید که کاربر باید این امکان رو داشته باشه که اسکریپت دلخواهش رو بتونه بدون دردسر کامپایل کردن کل firmware برای سیستم شما که منابع محدودی داره(مثلا sram ای در حد 128KByte و...)، اجرا کنه.

  • صالح جمالی

سلام!

چند روزی بود که دنبال راه اندازی ip core مربوط به 8051 روی بورد aingf2 بودم، بالاخره کار به جایی رسید که بایستی فایل هگز تولید شده توسط keil به پسوند coe تبدیل میشد که بشه اونو به عنوان init file برای rom میکرو 8051 (در xilinx ise ) تعریف کرد.


بعد کلی جستجو، نتایج به شرح زیر بود:

1. میشد از توابع متلب برای نوشتن یا خوندن فایل coe استفاده کرد، ولی مشکل این بود که bus_width=16 فرض شده بود و تغییر دادنش سخت بود.

2. برنامه MAKEXCOE هم مثل متلب 16 بیتی بود(BUS WIDTH اش)


بالاخره مجبور شدم خودم چندتا سورس کد رو تغییر بدم و نتیجه :

  • صالح جمالی

سلام!

بالاخره بعد 2 سالی که صرف طراحی pcb و لحیم کاری و کد زدن با وریلاگ شد، بالاخره پروژه به نقطه خوشایند خودش نزدیک شده.

لحظاتی که باعث میشه خستگی تمام روز ها و شب هایی که صرفش شده، جبران بشه.


AINGF اسم مجموعه ای از پروژه ها هستش که هدف نهاییشون ساخت دوربین دیجیتالی هست که تصویر زنده رو از طریق usb یا هر رابط دیگه ای(مثلا شبکه یا pci یا ieee1394) به کامپیوتر یا کامپیوتر های تک بوردی SBC منتقل کنه.

  • صالح جمالی
نرم افزار در #C و الگوریتم های پردازشی در ++C ( فایل dll ای که در ++C نوشته شده) پیاده شده اند.
الگوریتم قابلیت تشخیص زاویه دوران تگ و همچنین تشخیص چند تگ مجزا درون یک تصویر را داراست.
همچنین قابلیت شناساندن تگ به صورت کالیبراسیون از طریق تصویر نمونه ای که کاربر از تگ مد نظر وارد نرم افزار میکند، وجود دارد.
برای افرایش سرعت پردازش، امکان multi-thread کردن الگوریتم نیز مقدور است.

چند تصویر نمونه:
  • صالح جمالی

پروژه Navsys !

شاید به نوع خودش اولین تجربه ی کار گروهی من بود، البته در زمینه رباتیک.

ایده ی پروژه ناوسیس، ساخت یه واحد کامل تحت کنترل از طریق کامپیوتر بود!

در واقع ربات ناوسیس بطور کامل پارامتر های خودشو از کامپیوتر بصورت وایرلس دریافت میکرد و قادر بود حین طی مسیر، پارامتر های مختلف PID , PWM و تاخیر هاشو بطور بی سیم بدون وقفه در طی مسیر دریافت کنه.

 

  • صالح جمالی
  • صالح جمالی

پروژه در حال توسعه هست.

تصویر اولی، شبیه سازی سه بعدی از بورد هستش.


  • صالح جمالی