منصوبے کے بارے میں
MOGWAI NANO مائیکرو کنٹرولرز کے لیے ایک اسکرپٹنگ انجن ہے، جو .NET nanoFramework پر بنایا گیا ہے۔ اسے ڈیسک ٹاپ MOGWAI انجن کا پورٹ نہیں بلکہ ایک ساتھی رن ٹائم قرار دیا گیا ہے، جو ایمبیڈڈ رکاوٹوں کو مدنظر رکھتے ہوئے ڈیزائن کیا گیا ہے۔ آپ PC پر MOGWAI NANO اسٹوڈیو میں MOGWAI کوڈ لکھتے ہیں، نیٹ ورک پر ڈیوائسز دریافت کرتے ہیں، اور اس کوڈ کو WiFi کے ذریعے ہارڈویئر پر دور سے چلاتے ہیں۔
یہ کیسے کام کرتا ہے: نحوی شوگر (if/then/else، while/do، for/do، forever do، ٹائمرز وغیرہ) کے ساتھ لکھا گیا کوڈ ڈیسک ٹاپ پر ڈیوائس کو بھیجنے سے پہلے کینونیکل RPN میں تبدیل کیا جاتا ہے۔ ڈیوائس صرف اس کم سے کم شکل کو چلاتی ہے — ایک ٹوکنائزر، ایک اسٹیک اور ایک پریمیٹو ڈسپیچر — جس سے فرم ویئر چھوٹا رہتا ہے۔ README میں کہا گیا ہے کہ کینونیکل پریمیٹو پرائیویٹ ہیں اور خودکار طور پر تیار ہوتے ہیں، انہیں ہاتھ سے ٹائپ کرنے کا ارادہ نہیں ہے۔
زبان اور ہارڈویئر کی خصوصیات درج ہیں:
- ریاضی، موازنہ، کنٹرول فلو، صارف کی وضاحت کردہ فنکشنز، حوالہ جات، مہارتیں اور جھنڈے، ساختی ایرر ہینڈلنگ (trap/guard)
- GPIO، I2C، SPI، PWM، ADC، اور ایک مخصوص SSD1306 OLED ڈسپلے ڈرائیور
- متوازی عمل کے لیے ٹاسک، ہر ایک اپنے نیٹو تھریڈ پر الگ رن ٹائم انسٹنس کے ساتھ، ایونٹس کے ذریعے پیرنٹ سے بات چیت کرتے ہوئے
- سست پارسنگ ایگزیکیوشن ماڈل جس میں دو قابل ترتیب موڈز ہیں (mogwai.frugalMode)
- دوبارہ استعمال کے قابل کوڈ لائبریریاں جنہیں "یونٹس" کہا جاتا ہے، جو فلیش پر محفوظ ہوتی ہیں اور ضرورت پر لوڈ ہوتی ہیں
- ایک بار اور بار بار چلنے والے ٹائمرز، نامزد اسٹاپ واچز
- ایونٹس، جن کا ڈیٹا MOGRecord کے ذریعے پہنچایا جاتا ہے
- UDP ڈسکوری کے ساتھ TCP کمیونیکیشن، اور منقطع ہونے کی پہچان
- اسٹینڈ اکیلے تعیناتیوں کے لیے مستقل آٹورن
میموری کے تحفظات پر تفصیل سے بحث کی گئی ہے۔ ایک سادہ ESP32 تقریباً 40KB مفت RAM چھوڑتا ہے، جو README کے مطابق سادہ اسکرپٹس کے لیے کافی ہے لیکن طویل چلنے یا کثیر ذیلی نظام کے کاموں میں فریگمنٹیشن اور ایلوکیشن کی ناکامیوں کا شکار ہے۔ PSRAM سے لیس بورڈ، جیسے ESP32-S3، کو تصدیق شدہ حوالہ پلیٹ فارم پیش کیا گیا ہے اور جامع پروجیکٹس کے لیے تجویز کیا گیا ہے۔ ٹاسک تقریباً 10KB ہر ایک کی لاگت کے بارے میں بتایا گیا ہے اور یہ صرف PSRAM کے ساتھ عملی ہیں۔ README نوٹ کرتا ہے کہ PSRAM سے چلنے والے nanoFramework ٹارگٹ کے ساتھ کلاسک ESP32/WROVER اسی طرح کام کرنا چاہیے لیکن مصنفین نے اس کا تجربہ نہیں کیا۔
معاون پلیٹ فارمز کی جدول: ESP32 چھوٹے واحد مقصدی اسکرپٹس کے لیے آزمایا گیا؛ ESP32-S3 PSRAM کے ساتھ آزمایا گیا اور تجویز کردہ؛ کلاسک ESP32/WROVER PSRAM کے ساتھ بغیر آزمائے؛ Raspberry Pi Pico W فی الحال معاون نہیں (ESP32 مخصوص پن کنفیگریشن نے Pico بلڈز کو توڑ دیا، تنظیم نو کے بعد واپس آنے کا منصوبہ)؛ STM32 اور TI کو کام کرنا چاہیے لیکن بغیر آزمائے درج کیا گیا۔
MOGWAI NANO اسٹوڈیو ایک Avalonia پر مبنی ڈیسک ٹاپ ساتھی ہے جس میں اپنا کوڈ ایڈیٹر، مقامی اور ڈیوائس آؤٹ پٹ کے لیے الگ لائیو کنسول ٹیبز، فائل مینجمنٹ، اور ہلکے/گہرے تھیمز ہیں۔ 0.5 تک ایک پرانا کنسول پر مبنی اسٹوڈیو موجود تھا اور 0.6 سے اسے برقرار نہیں رکھا گیا۔
ریلیزز ڈیوائس فرم ویئر (MogwaiNano.bin) اور ہر پلیٹ فارم کے لیے خود کفیل اسٹوڈیو آرکائیوز (win-x64، linux-x64، linux-arm64، osx-x64، osx-arm64) منسلک کرتی ہیں۔ کوئیک اسٹارٹ میں nanoff کے ساتھ فرم ویئر فلیش کرنا، پاور سائیکل کرنا، ایپلیکیشن تعینات کرنا، wifi.json فائل کے ذریعے WiFi ترتیب دینا، اور پہلا پروگرام چلانا شامل ہے جو LED جھپکاتا ہے۔ README مخصوص خصوصیات دستاویز کرتا ہے: ESP32_REV3 پر واضح --address 0x1E0000 درکار ہے اور اسے --update سے الگ کمانڈ ہونا چاہیے؛ پہلی فلیش پر --masserase تجویز کیا جاتا ہے؛ ESP32-S3 فلیشنگ میں کئی منٹ لگ سکتے ہیں۔
دستاویزات میں ایک ابتدائی گائیڈ، ڈیوائس پریمیٹو حوالہ، nano.* کمانڈ سیٹ کے لیے اسٹوڈیو پریمیٹو حوالہ، اور ESP32 DeviceFunction ویلیوز کی تلاش کی جدول شامل ہے۔ روڈ میپ میں مکمل شدہ اشیاء درج ہیں جیسے I2C، SSD1306، PWM/ADC، SPI (MFRC522 RFID ڈرائیور کے ساتھ تصدیق شدہ جو مکمل طور پر MOGWAI NANO اسکرپٹ میں لکھا گیا ہے)، ESP32-S3/PSRAM تصدیق، ٹاسک، یونٹس لائبریری سسٹم، اور اسٹوڈیو GUI؛ زیر التواء اشیاء میں بائنری/بٹ مینیپولیشن سپورٹ، STM32 اور TI تصدیق، BLE، ڈائنامک PE لوڈنگ، اور مشترکہ کور کے ساتھ فی پلیٹ فارم حصوں میں تنظیم نو شامل ہے۔
پروجیکٹ Apache 2.0 لائسنس کے تحت ہے۔ یہ nanoFramework کے معاون لارینٹ ایلر باخ کو مدد کے لیے کریڈٹ دیتا ہے، اور ڈیسک ٹاپ MOGWAI پروجیکٹ اور .NET nanoFramework کے لنکس فراہم کرتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.