Ise agbese Elk ṣe agbekalẹ ẹrọ JavaScript iwapọ fun awọn oluṣakoso microcontroller

Itusilẹ tuntun ti ẹrọ Elk 2.0.9 JavaScript wa, ti a pinnu lati lo lori awọn ọna ṣiṣe ti o ni agbara orisun gẹgẹbi awọn oluṣakoso microcontroller, pẹlu ESP32 ati awọn igbimọ Arduino Nano pẹlu 2KB Ramu ati Filaṣi 30KB. Lati ṣiṣẹ ẹrọ foju ti a pese, awọn baiti 100 ti iranti ati 20 KB ti aaye ibi-itọju jẹ to. Koodu ise agbese ti kọ ni ede C ati pinpin labẹ iwe-aṣẹ GPLv2. Lati kọ iṣẹ akanṣe naa, olupilẹṣẹ C ti to - ko si awọn igbẹkẹle afikun ti a lo. Ise agbese na ni idagbasoke nipasẹ awọn olupilẹṣẹ ti ẹrọ ṣiṣe fun awọn ẹrọ IoT Mongoose OS, ẹrọ mJS JavaScript ati olupin ayelujara Mongoose ti a fi sii (ti a lo ninu awọn ọja lati awọn ile-iṣẹ gẹgẹbi Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ati Qualcomm). ).

Idi akọkọ ti Elk ni lati ṣẹda famuwia fun awọn oludari microcontrollers ni JavaScript ti o ṣe awọn iṣẹ ṣiṣe adaṣe lọpọlọpọ. Enjini tun dara fun ifibọ JavaScript handlers sinu C/C ++ awọn ohun elo. Lati lo ẹrọ inu koodu rẹ, kan gbe faili elk.c sinu igi orisun, pẹlu faili akọsori elk.h ki o lo ipe js_eval naa. O gba ọ laaye lati pe awọn iṣẹ asọye ni koodu C/C ++ lati awọn iwe afọwọkọ JavaScript, ati ni idakeji. Koodu JavaScript ti wa ni pipa ni agbegbe aabo ti o ya sọtọ lati koodu akọkọ nipa lilo onitumọ ti ko ṣe ipilẹṣẹ bytecode ati pe ko lo ipin iranti iranti ti o ni agbara.

Elk ṣe imuse ipin kekere ti sipesifikesonu Ecmascript 6, ṣugbọn o to fun ṣiṣẹda awọn iwe afọwọkọ iṣẹ Ni pataki, o ṣe atilẹyin eto ipilẹ ti awọn oniṣẹ ati awọn iru, ṣugbọn ko ṣe atilẹyin awọn ilana, awọn apẹẹrẹ, tabi eyi, tuntun, ati paarẹ awọn ikosile. O ti wa ni dabaa lati lo jẹ ki dipo ti var ati const, ati nigba ti dipo ti ṣe, yipada ati fun. Ko si boṣewa ìkàwé pese, i.e. ko si iru Ọjọ, Regexp, iṣẹ, Okun ati Number ohun.

orisun: opennet.ru

Fi ọrọìwòye kun