Guest User

Untitled

a guest
Mar 27th, 2022
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.45 KB | None | 0 0
  1. /* Generated by Nim Compiler v1.6.2 */
  2. #define NIM_INTBITS 32
  3. #define NIM_EmulateOverflowChecks
  4.  
  5. #include "nimbase.h"
  6. #include <string.h>
  7. #include "hardware/gpio.h"
  8. #include "tusb.h"
  9. #include "usb_descriptors.h"
  10. #include "bsp/board.h"
  11. #include "pico/time.h"
  12. #include "hardware/timer.h"
  13. #undef LANGUAGE_C
  14. #undef MIPSEB
  15. #undef MIPSEL
  16. #undef PPC
  17. #undef R3000
  18. #undef R4000
  19. #undef i386
  20. #undef linux
  21. #undef mips
  22. #undef near
  23. #undef far
  24. #undef powerpc
  25. #undef unix
  26. #define nimfr_(x, y)
  27. #define nimln_(x, y)
  28. typedef struct tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ;
  29. typedef struct tyTuple__2Q5Sh7Js1oGqLI2XX023zA tyTuple__2Q5Sh7Js1oGqLI2XX023zA;
  30. typedef struct NimStrPayload NimStrPayload;
  31. typedef struct NimStringV2 NimStringV2;
  32. typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
  33. typedef struct {
  34. N_NIMCALL_PTR(void, ClP_0) (NU64 elapsed, void* ClE_0);
  35. void* ClE_0;
  36. } tyProc__LFyyYFNLVDjCVfZTj39cccg;
  37. struct tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ {
  38. NU64 period;
  39. NU64 elapsed;
  40. tyProc__LFyyYFNLVDjCVfZTj39cccg taskproc;
  41. };
  42. typedef tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ tyArray__DMI0LJyInPSw39aegCXksNA[5];
  43. typedef NI tyArray__rDlhhdNzrqWrozIj9bj2z6A[3];
  44. typedef NU8 tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg;
  45. typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_2) (NU64 elapsed, void* ClE_0);
  46. typedef NU8 tySet_tyEnum_KeyModifier__KaiXCqF9b80pkQKXWylxgRg;
  47. typedef NU8 tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A;
  48. typedef tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A tyArray__JytcM6YvWmk8W9bnuvzb9aMg[6];
  49. struct tyTuple__2Q5Sh7Js1oGqLI2XX023zA {
  50. NI Field0;
  51. NU32 Field1;
  52. };
  53. typedef NU32 tyArray__eFPd5iKUdU49cK0uBZ9b5WvQ[6];
  54. typedef tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A tyArray__LmhUVPgRzj3nyG7FAQbLbQ[6];
  55. typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_5) (NU64 elapsed, void* ClE_0);
  56. typedef NU32 tyArray__Q729a3aMLeHy6TdfARGgKFA[2];
  57. typedef NU8 tySet_tyEnum_MouseButton__Ogz553AesVhgnSIEEcglHA;
  58. typedef NU8 tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA;
  59. typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_6) (NU64 elapsed, void* ClE_0);
  60. typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_7) (NU64 elapsed, void* ClE_0);
  61. struct NimStrPayload {
  62. NI cap;
  63. NIM_CHAR data[SEQ_DECL_SIZE];
  64. };
  65. struct NimStringV2 {
  66. NI len;
  67. NimStrPayload* p;
  68. };
  69. typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_14) (NU64 elapsed, void* ClE_0);
  70. typedef NU32 tyArray__kG0j9bEGId48BIgnb4RS1Og[6];
  71. typedef NU8 tyEnum_Sensitivity__nVkL9bwHKNxQ7HnrGo9aPZ4w;
  72. typedef NU8 tyEnum_IntegrationTime__B9ch3iHqMNrkl8PUt2m7w9cg;
  73. typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_18) (NU64 elapsed);
  74. struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
  75. NI rc;
  76. };
  77. NIM_STATIC_ASSERT(sizeof(int) == 4, "backend & Nim disagree on size for: cint{int32} [type declared in /home/francis/.choosenim/toolchains/nim-1.6.2/lib/system.nim(1413, 3)]");
  78. NIM_STATIC_ASSERT(sizeof(size_t) == 4, "backend & Nim disagree on size for: csize_t{uint} [type declared in /home/francis/.choosenim/toolchains/nim-1.6.2/lib/system.nim(1417, 3)]");
  79. static N_INLINE(void, nimZeroMem)(void* p, NI size);
  80. static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
  81. static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
  82. N_LIB_PRIVATE N_NIMCALL(void, blinkLedTask__firmware_48)(NU64 elapsed);
  83. N_LIB_PRIVATE N_NIMCALL(tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg, getUsbState__usb_83)(void);
  84. N_LIB_PRIVATE N_NIMCALL(void, hidKeysTask__firmware_72)(NU64 elapsed);
  85. N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError3)(NI i, NI a, NI b);
  86. N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
  87. static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res);
  88. N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
  89. N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sendKeyboardReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_464)(NU8 itf, NU8 id, hid_keyboard_report_t report);
  90. N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
  91. N_LIB_PRIVATE N_NIMCALL(void, encoderTask__firmware_167)(NU64 elapsed);
  92. N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sendMouseReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_395)(NU8 itf, NU8 id, hid_mouse_report_t report);
  93. static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
  94. N_LIB_PRIVATE N_NIMCALL(void, rgbTask__firmware_200)(NU64 elapsed);
  95. N_LIB_PRIVATE N_NIMCALL(void, nextRainbowColor__inpi5353_246)(void);
  96. N_LIB_PRIVATE N_NIMCALL(void, vemlTask__firmware_203)(NU64 elapsed);
  97. N_LIB_PRIVATE N_NIMCALL(NU16, vemlRead__veml55554848_155)(void);
  98. static N_INLINE(void, writeLine__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_730)(NU8 itf, NimStringV2 s);
  99. static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_684)(NU8 itf, NimStringV2 s);
  100. static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res);
  101. static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_727)(NU8 itf, NIM_CHAR c);
  102. static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src);
  103. static N_INLINE(void, copyMem__system_1698)(void* dest, void* source, NI size);
  104. N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_9)(NU64 x);
  105. N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space);
  106. N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_2581)(NimStringV2* dest);
  107. N_LIB_PRIVATE N_NIMCALL(void, setup__firmware_282)(void);
  108. N_LIB_PRIVATE N_NIMCALL(void, initInPi55Pio__inpi5353_58)(void);
  109. N_LIB_PRIVATE N_NIMCALL(void, initVeml__veml55554848_108)(void);
  110. N_LIB_PRIVATE N_NIMCALL(void, vemlConfig__veml55554848_58)(tyEnum_Sensitivity__nVkL9bwHKNxQ7HnrGo9aPZ4w sensitivity, tyEnum_IntegrationTime__B9ch3iHqMNrkl8PUt2m7w9cg itime, NI persist, NIM_BOOL enableInterrupt, NIM_BOOL shutDown);
  111. N_LIB_PRIVATE N_NIMCALL(void, main__firmware_343)(void);
  112. N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
  113. N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___firmware_247)(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ* dest);
  114. static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
  115. static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
  116. N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
  117. static N_INLINE(void, initStackBottomWith)(void* locals);
  118. N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
  119. N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
  120. N_LIB_PRIVATE N_NIMCALL(void, firmware_inpi55Init000)(void);
  121. N_LIB_PRIVATE N_NIMCALL(void, firmware_veml7700Init000)(void);
  122. N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
  123. N_LIB_PRIVATE NIM_CONST tyArray__rDlhhdNzrqWrozIj9bj2z6A blinkIntervalArr__firmware_50 = {((NI) 1000),
  124. ((NI) 2500),
  125. ((NI) 250)}
  126. ;
  127. N_LIB_PRIVATE NIM_CONST tyArray__eFPd5iKUdU49cK0uBZ9b5WvQ SwitchTable__firmware_15 = {((NU32) 3),
  128. ((NU32) 4),
  129. ((NU32) 5),
  130. ((NU32) 8),
  131. ((NU32) 7),
  132. ((NU32) 6)}
  133. ;
  134. N_LIB_PRIVATE NIM_CONST tyArray__LmhUVPgRzj3nyG7FAQbLbQ KeyMapFKeys__firmware_16 = {((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 105),
  135. ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 106),
  136. ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 107),
  137. ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 108),
  138. ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 109),
  139. ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 110)}
  140. ;
  141. static const struct {
  142. NI cap; NIM_CHAR data[6+1];
  143. } TM__xUHzpMQRd0lsW9aPWw1e03w_10 = { 6 | NIM_STRLIT_FLAG, "VEML: " };
  144. static const NimStringV2 TM__xUHzpMQRd0lsW9aPWw1e03w_11 = {6, (NimStrPayload*)&TM__xUHzpMQRd0lsW9aPWw1e03w_10};
  145. static NIM_CONST tyArray__kG0j9bEGId48BIgnb4RS1Og TM__xUHzpMQRd0lsW9aPWw1e03w_16 = {((NU32) 19),
  146. ((NU32) 20),
  147. ((NU32) 18),
  148. ((NU32) 13),
  149. ((NU32) 14),
  150. ((NU32) 15)}
  151. ;
  152. N_LIB_PRIVATE tyArray__DMI0LJyInPSw39aegCXksNA SchedulerTable__firmware_211;
  153. extern NIM_BOOL nimInErrorMode__system_3432;
  154. N_LIB_PRIVATE NU64 nextChange__firmware_51;
  155. N_LIB_PRIVATE NIM_BOOL ledState__firmware_52;
  156. N_LIB_PRIVATE NI prevKeyCount__firmware_74;
  157. N_LIB_PRIVATE tyArray__Q729a3aMLeHy6TdfARGgKFA prevState__firmware_169;
  158. N_LIB_PRIVATE NIM_BOOL isInit__firmware_170 = NIM_FALSE;
  159. N_LIB_PRIVATE NU64 remain__firmware_202;
  160. static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
  161. void* T1_;
  162. T1_ = (void*)0;
  163. T1_ = memset(a, v, ((size_t) (size)));
  164. }
  165. static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
  166. NIM_BOOL* result;
  167. result = (NIM_BOOL*)0;
  168. result = (&nimInErrorMode__system_3432);
  169. return result;
  170. }
  171. static N_INLINE(void, nimZeroMem)(void* p, NI size) {
  172. NIM_BOOL* nimErr_;
  173. {nimErr_ = nimErrorFlag();
  174. nimSetMem__systemZmemory_7(p, ((int) 0), size);
  175. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  176. }BeforeRet_: ;
  177. }
  178. N_LIB_PRIVATE N_NIMCALL(void, blinkLedTask__firmware_48)(NU64 elapsed) {
  179. NIM_BOOL* nimErr_;
  180. {nimErr_ = nimErrorFlag();
  181. {
  182. if (!((NU64)(elapsed) < (NU64)(nextChange__firmware_51))) goto LA3_;
  183. nextChange__firmware_51 = (NU64)((NU64)(nextChange__firmware_51) - (NU64)(elapsed));
  184. }
  185. goto LA1_;
  186. LA3_: ;
  187. {
  188. NU32 colontmpD_;
  189. NU32 colontmpD__2;
  190. NU32 T6_;
  191. NI blinkInterval;
  192. tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg T12_;
  193. colontmpD_ = (NU32)0;
  194. colontmpD__2 = (NU32)0;
  195. T6_ = (NU32)0;
  196. {
  197. if (!ledState__firmware_52) goto LA9_;
  198. colontmpD_ = ((NU32) 0);
  199. T6_ = colontmpD_;
  200. }
  201. goto LA7_;
  202. LA9_: ;
  203. {
  204. colontmpD__2 = ((NU32) 1);
  205. T6_ = colontmpD__2;
  206. }
  207. LA7_: ;
  208. gpio_put(((NU32) 25), T6_);
  209. ledState__firmware_52 = !(ledState__firmware_52);
  210. T12_ = (tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg)0;
  211. T12_ = getUsbState__usb_83();
  212. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  213. blinkInterval = blinkIntervalArr__firmware_50[(T12_)- 0];
  214. nextChange__firmware_51 = (NU64)((NU64)(((NU64) (blinkInterval))) * (NU64)(1000ULL));
  215. }
  216. LA1_: ;
  217. }BeforeRet_: ;
  218. }
  219. static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res) {
  220. NIM_BOOL result;
  221. NI r;
  222. result = (NIM_BOOL)0;
  223. r = ((NI) ((NU)((NU32)(((NU) (a))) + (NU32)(((NU) (b))))));
  224. {
  225. NIM_BOOL T3_;
  226. T3_ = (NIM_BOOL)0;
  227. T3_ = (((NI) 0) <= (NI)(r ^ a));
  228. if (T3_) goto LA4_;
  229. T3_ = (((NI) 0) <= (NI)(r ^ b));
  230. LA4_: ;
  231. if (!T3_) goto LA5_;
  232. (*res) = r;
  233. }
  234. goto LA1_;
  235. LA5_: ;
  236. {
  237. result = NIM_TRUE;
  238. }
  239. LA1_: ;
  240. return result;
  241. }
  242. N_LIB_PRIVATE N_NIMCALL(void, hidKeysTask__firmware_72)(NU64 elapsed) {
  243. NI i;
  244. hid_keyboard_report_t report;
  245. NIM_BOOL* nimErr_;
  246. {nimErr_ = nimErrorFlag();
  247. {
  248. NIM_BOOL T3_;
  249. T3_ = (NIM_BOOL)0;
  250. T3_ = tud_hid_n_ready(((NU8) 0));
  251. if (!!(T3_)) goto LA4_;
  252. goto BeforeRet_;
  253. }
  254. LA4_: ;
  255. i = ((NI) 0);
  256. nimZeroMem((void*)(&report), sizeof(hid_keyboard_report_t));
  257. {
  258. NI idx;
  259. NU32 pin;
  260. NI i_2;
  261. idx = (NI)0;
  262. pin = (NU32)0;
  263. i_2 = ((NI) 1);
  264. {
  265. while (1) {
  266. tyTuple__2Q5Sh7Js1oGqLI2XX023zA colontmp_;
  267. NI TM__xUHzpMQRd0lsW9aPWw1e03w_4;
  268. colontmp_.Field0 = i_2;
  269. if (i_2 < 1 || i_2 > 6){ raiseIndexError3(i_2, 1, 6); goto BeforeRet_;
  270. }
  271. colontmp_.Field1 = SwitchTable__firmware_15[(i_2)- 1];
  272. idx = colontmp_.Field0;
  273. pin = colontmp_.Field1;
  274. {
  275. NU32 T11_;
  276. NI TM__xUHzpMQRd0lsW9aPWw1e03w_3;
  277. T11_ = (NU32)0;
  278. T11_ = gpio_get(pin);
  279. if (!(T11_ == ((NU32) 0))) goto LA12_;
  280. if ((NU)(i) > (NU)(5)){ raiseIndexError2(i, 5); goto BeforeRet_;
  281. }
  282. if (idx < 1 || idx > 6){ raiseIndexError3(idx, 1, 6); goto BeforeRet_;
  283. }
  284. report.keycode[(i)- 0] = KeyMapFKeys__firmware_16[(idx)- 1];
  285. if (nimAddInt(i, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_3)) { raiseOverflow(); goto BeforeRet_;
  286. };
  287. i = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_3);
  288. }
  289. LA12_: ;
  290. {
  291. if (!(((NI) 6) <= ((NI) (i_2)))) goto LA16_;
  292. goto LA7;
  293. }
  294. LA16_: ;
  295. if (nimAddInt(i_2, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_4)) { raiseOverflow(); goto BeforeRet_;
  296. };
  297. if (TM__xUHzpMQRd0lsW9aPWw1e03w_4 < 1 || TM__xUHzpMQRd0lsW9aPWw1e03w_4 > 6){ raiseOverflow(); goto BeforeRet_;
  298. }
  299. i_2 = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_4);
  300. }
  301. } LA7: ;
  302. }
  303. {
  304. NIM_BOOL T20_;
  305. NIM_BOOL T24_;
  306. T20_ = (NIM_BOOL)0;
  307. T20_ = (((NI) 0) < i);
  308. if (T20_) goto LA21_;
  309. T20_ = (((NI) 0) < ((NI) (prevKeyCount__firmware_74)));
  310. LA21_: ;
  311. if (!T20_) goto LA22_;
  312. T24_ = (NIM_BOOL)0;
  313. T24_ = sendKeyboardReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_464(((NU8) 0), REPORT_ID_KEYBOARD, report);
  314. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  315. (void)(T24_);
  316. tud_task();
  317. }
  318. LA22_: ;
  319. if ((i) < ((NI) 0) || (i) > ((NI) 2147483647)){ raiseRangeErrorI(i, ((NI) 0), ((NI) 2147483647)); goto BeforeRet_;
  320. }
  321. prevKeyCount__firmware_74 = ((NI) (i));
  322. }BeforeRet_: ;
  323. }
  324. static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
  325. void* T1_;
  326. T1_ = (void*)0;
  327. T1_ = memcpy(dest, source, ((size_t) (size)));
  328. }
  329. N_LIB_PRIVATE N_NIMCALL(void, encoderTask__firmware_167)(NU64 elapsed) {
  330. hid_mouse_report_t report;
  331. tyArray__Q729a3aMLeHy6TdfARGgKFA curState;
  332. NIM_BOOL* nimErr_;
  333. {nimErr_ = nimErrorFlag();
  334. nimZeroMem((void*)(&report), sizeof(hid_mouse_report_t));
  335. {
  336. if (!!(isInit__firmware_170)) goto LA3_;
  337. prevState__firmware_169[0] = gpio_get(((NU32) 19));
  338. prevState__firmware_169[1] = gpio_get(((NU32) 20));
  339. isInit__firmware_170 = NIM_TRUE;
  340. }
  341. LA3_: ;
  342. nimZeroMem((void*)curState, sizeof(tyArray__Q729a3aMLeHy6TdfARGgKFA));
  343. curState[0] = gpio_get(((NU32) 19));
  344. curState[1] = gpio_get(((NU32) 20));
  345. {
  346. NIM_BOOL T7_;
  347. NI8 colontmpD_;
  348. NI8 colontmpD__2;
  349. T7_ = (NIM_BOOL)0;
  350. T7_ = (prevState__firmware_169[(((tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA) 0))- 0] == ((NU32) 0));
  351. if (!(T7_)) goto LA8_;
  352. T7_ = (curState[(((tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA) 0))- 0] == ((NU32) 1));
  353. LA8_: ;
  354. if (!T7_) goto LA9_;
  355. colontmpD_ = (NI8)0;
  356. colontmpD__2 = (NI8)0;
  357. {
  358. if (!(curState[(((tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA) 1))- 0] == ((NU32) 1))) goto LA13_;
  359. colontmpD_ = ((NI8) 1);
  360. report.wheel = colontmpD_;
  361. }
  362. goto LA11_;
  363. LA13_: ;
  364. {
  365. colontmpD__2 = ((NI8) -1);
  366. report.wheel = colontmpD__2;
  367. }
  368. LA11_: ;
  369. {
  370. NIM_BOOL T18_;
  371. NIM_BOOL T21_;
  372. T18_ = (NIM_BOOL)0;
  373. T18_ = tud_hid_n_ready(((NU8) 0));
  374. if (!T18_) goto LA19_;
  375. T21_ = (NIM_BOOL)0;
  376. T21_ = sendMouseReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_395(((NU8) 0), REPORT_ID_MOUSE, report);
  377. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  378. (void)(T21_);
  379. tud_task();
  380. }
  381. LA19_: ;
  382. }
  383. LA9_: ;
  384. nimCopyMem((void*)prevState__firmware_169, (NIM_CONST void*)curState, sizeof(tyArray__Q729a3aMLeHy6TdfARGgKFA));
  385. }BeforeRet_: ;
  386. }
  387. N_LIB_PRIVATE N_NIMCALL(void, rgbTask__firmware_200)(NU64 elapsed) {
  388. NIM_BOOL* nimErr_;
  389. {nimErr_ = nimErrorFlag();
  390. {
  391. if (!((NU64)(elapsed) < (NU64)(remain__firmware_202))) goto LA3_;
  392. remain__firmware_202 = (NU64)((NU64)(remain__firmware_202) - (NU64)(elapsed));
  393. }
  394. goto LA1_;
  395. LA3_: ;
  396. {
  397. remain__firmware_202 = 40000ULL;
  398. nextRainbowColor__inpi5353_246();
  399. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  400. }
  401. LA1_: ;
  402. }BeforeRet_: ;
  403. }
  404. static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res) {
  405. NIM_BOOL result;
  406. NI r;
  407. result = (NIM_BOOL)0;
  408. r = ((NI) ((NU)((NU32)(((NU) (a))) - (NU32)(((NU) (b))))));
  409. {
  410. NIM_BOOL T3_;
  411. T3_ = (NIM_BOOL)0;
  412. T3_ = (((NI) 0) <= (NI)(r ^ a));
  413. if (T3_) goto LA4_;
  414. T3_ = (((NI) 0) <= (NI)(r ^ (NI)((NU32) ~(b))));
  415. LA4_: ;
  416. if (!T3_) goto LA5_;
  417. (*res) = r;
  418. }
  419. goto LA1_;
  420. LA5_: ;
  421. {
  422. result = NIM_TRUE;
  423. }
  424. LA1_: ;
  425. return result;
  426. }
  427. static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_684)(NU8 itf, NimStringV2 s) {
  428. NI iX60gensym5_;
  429. NI remainX60gensym5_;
  430. { iX60gensym5_ = ((NI) 0);
  431. remainX60gensym5_ = s.len;
  432. {
  433. while (1) {
  434. NIM_BOOL T3_;
  435. NIM_CHAR* bufferX60gensym5_;
  436. NI wrcountX60gensym5_;
  437. NU32 T5_;
  438. NI TM__xUHzpMQRd0lsW9aPWw1e03w_8;
  439. NI TM__xUHzpMQRd0lsW9aPWw1e03w_9;
  440. NU32 T6_;
  441. T3_ = (NIM_BOOL)0;
  442. T3_ = (((NI) 0) < remainX60gensym5_);
  443. if (!(T3_)) goto LA4_;
  444. T3_ = tud_cdc_n_connected(((NU8) (itf)));
  445. LA4_: ;
  446. if (!T3_) goto LA2;
  447. if ((NU)(iX60gensym5_) >= (NU)s.len){ raiseIndexError2(iX60gensym5_,s.len-1); goto BeforeRet_;
  448. }
  449. bufferX60gensym5_ = (&s.p->data[iX60gensym5_]);
  450. T5_ = (NU32)0;
  451. T5_ = tud_cdc_n_write(((NU8) (itf)), ((void*) (bufferX60gensym5_)), ((NU32) (remainX60gensym5_)));
  452. if ((NI64)(T5_) < ((NI) (-2147483647 -1)) || (NI64)(T5_) > ((NI) 2147483647)){ raiseRangeErrorI(T5_, ((NI) (-2147483647 -1)), ((NI) 2147483647)); goto BeforeRet_;
  453. }
  454. wrcountX60gensym5_ = ((NI) (T5_));
  455. if (nimAddInt(iX60gensym5_, wrcountX60gensym5_, &TM__xUHzpMQRd0lsW9aPWw1e03w_8)) { raiseOverflow(); goto BeforeRet_;
  456. };
  457. iX60gensym5_ = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_8);
  458. if (nimSubInt(remainX60gensym5_, wrcountX60gensym5_, &TM__xUHzpMQRd0lsW9aPWw1e03w_9)) { raiseOverflow(); goto BeforeRet_;
  459. };
  460. remainX60gensym5_ = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_9);
  461. tud_task();
  462. T6_ = (NU32)0;
  463. T6_ = tud_cdc_n_write_flush(((NU8) (itf)));
  464. (void)(T6_);
  465. } LA2: ;
  466. }
  467. }BeforeRet_: ;
  468. }
  469. static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_727)(NU8 itf, NIM_CHAR c) {
  470. NU32 T1_;
  471. T1_ = (NU32)0;
  472. T1_ = tud_cdc_n_write_char(((NU8) (itf)), c);
  473. (void)(T1_);
  474. }
  475. static N_INLINE(void, writeLine__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_730)(NU8 itf, NimStringV2 s) {
  476. NIM_BOOL* nimErr_;
  477. {nimErr_ = nimErrorFlag();
  478. write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_684(itf, s);
  479. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  480. write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_727(itf, 10);
  481. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  482. }BeforeRet_: ;
  483. }
  484. static N_INLINE(void, copyMem__system_1698)(void* dest, void* source, NI size) {
  485. nimCopyMem(dest, source, size);
  486. }
  487. static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) {
  488. { {
  489. NI TM__xUHzpMQRd0lsW9aPWw1e03w_12;
  490. NI TM__xUHzpMQRd0lsW9aPWw1e03w_13;
  491. if (!(((NI) 0) < src.len)) goto LA3_;
  492. if (nimAddInt(src.len, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_12)) { raiseOverflow(); goto BeforeRet_;
  493. };
  494. if (((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12)) < ((NI) 0) || ((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12)) > ((NI) 2147483647)){ raiseRangeErrorI((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12), ((NI) 0), ((NI) 2147483647)); goto BeforeRet_;
  495. }
  496. copyMem__system_1698(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI) 0)]))), ((NI) ((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12))));
  497. if (nimAddInt((*dest).len, src.len, &TM__xUHzpMQRd0lsW9aPWw1e03w_13)) { raiseOverflow(); goto BeforeRet_;
  498. };
  499. (*dest).len = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_13);
  500. }
  501. LA3_: ;
  502. }BeforeRet_: ;
  503. }
  504. N_LIB_PRIVATE N_NIMCALL(void, vemlTask__firmware_203)(NU64 elapsed) {
  505. NimStringV2 colontmpD_;
  506. NimStringV2 colontmpD__2;
  507. NU16 val;
  508. NimStringV2 T1_;
  509. NIM_BOOL* nimErr_;
  510. {nimErr_ = nimErrorFlag();
  511. colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
  512. colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
  513. val = vemlRead__veml55554848_155();
  514. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  515. T1_.len = 0; T1_.p = NIM_NIL;
  516. colontmpD_ = dollar___systemZdollars_9(((NU64) (val)));
  517. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  518. T1_ = rawNewString(colontmpD_.len + 6);
  519. appendString((&T1_), TM__xUHzpMQRd0lsW9aPWw1e03w_11);
  520. appendString((&T1_), colontmpD_);
  521. colontmpD__2 = T1_;
  522. writeLine__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_730(((NU8) 0), colontmpD__2);
  523. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  524. eqdestroy___system_2581((&colontmpD__2));
  525. eqdestroy___system_2581((&colontmpD_));
  526. }BeforeRet_: ;
  527. }
  528. N_LIB_PRIVATE N_NIMCALL(void, setup__firmware_282)(void) {
  529. NIM_BOOL T1_;
  530. NIM_BOOL* nimErr_;
  531. {nimErr_ = nimErrorFlag();
  532. T1_ = (NIM_BOOL)0;
  533. T1_ = tusb_init();
  534. (void)(T1_);
  535. board_init();
  536. sleep_ms(((NU32) 10));
  537. gpio_init(((NU32) 25));
  538. gpio_set_dir(((NU32) 25), NIM_TRUE);
  539. {
  540. NU32 ksw;
  541. NI i;
  542. ksw = (NU32)0;
  543. i = ((NI) 1);
  544. {
  545. while (1) {
  546. NI TM__xUHzpMQRd0lsW9aPWw1e03w_15;
  547. if (i < 1 || i > 6){ raiseIndexError3(i, 1, 6); goto BeforeRet_;
  548. }
  549. ksw = SwitchTable__firmware_15[(i)- 1];
  550. gpio_init(ksw);
  551. gpio_disable_pulls(ksw);
  552. {
  553. if (!(((NI) 6) <= ((NI) (i)))) goto LA7_;
  554. goto LA3;
  555. }
  556. LA7_: ;
  557. if (nimAddInt(i, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_15)) { raiseOverflow(); goto BeforeRet_;
  558. };
  559. if (TM__xUHzpMQRd0lsW9aPWw1e03w_15 < 1 || TM__xUHzpMQRd0lsW9aPWw1e03w_15 > 6){ raiseOverflow(); goto BeforeRet_;
  560. }
  561. i = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_15);
  562. }
  563. } LA3: ;
  564. }
  565. {
  566. NU32 pin;
  567. NI i_2;
  568. pin = (NU32)0;
  569. i_2 = ((NI) 0);
  570. {
  571. while (1) {
  572. NI TM__xUHzpMQRd0lsW9aPWw1e03w_17;
  573. pin = TM__xUHzpMQRd0lsW9aPWw1e03w_16[(i_2)- 0];
  574. gpio_init(pin);
  575. gpio_disable_pulls(pin);
  576. {
  577. if (!(((NI) 5) <= ((NI) (i_2)))) goto LA14_;
  578. goto LA10;
  579. }
  580. LA14_: ;
  581. if (nimAddInt(i_2, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_17)) { raiseOverflow(); goto BeforeRet_;
  582. };
  583. if (TM__xUHzpMQRd0lsW9aPWw1e03w_17 < 0 || TM__xUHzpMQRd0lsW9aPWw1e03w_17 > 5){ raiseOverflow(); goto BeforeRet_;
  584. }
  585. i_2 = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_17);
  586. }
  587. } LA10: ;
  588. }
  589. initInPi55Pio__inpi5353_58();
  590. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  591. initVeml__veml55554848_108();
  592. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  593. vemlConfig__veml55554848_58(((tyEnum_Sensitivity__nVkL9bwHKNxQ7HnrGo9aPZ4w) 0), ((tyEnum_IntegrationTime__B9ch3iHqMNrkl8PUt2m7w9cg) 1), ((NI) 0), NIM_FALSE, NIM_FALSE);
  594. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  595. }BeforeRet_: ;
  596. }
  597. N_LIB_PRIVATE N_NIMCALL(void, main__firmware_343)(void) {
  598. NU64 prevTime;
  599. NU64 maxLoopTime;
  600. NI loopCount;
  601. NIM_BOOL* nimErr_;
  602. {nimErr_ = nimErrorFlag();
  603. prevTime = 0ULL;
  604. maxLoopTime = (NU64)0;
  605. loopCount = (NI)0;
  606. {
  607. while (1) {
  608. NU64 now;
  609. NU64 dt;
  610. tud_task();
  611. now = time_us_64();
  612. dt = (NU64)((NU64)(now) - (NU64)(prevTime));
  613. {
  614. tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ* entry;
  615. NI i;
  616. entry = (tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ*)0;
  617. i = ((NI) 0);
  618. {
  619. while (1) {
  620. NI TM__xUHzpMQRd0lsW9aPWw1e03w_19;
  621. entry = (&SchedulerTable__firmware_211[(i)- 0]);
  622. {
  623. if (!((NU64)((*entry).period) < (NU64)((*entry).elapsed))) goto LA8_;
  624. (*entry).taskproc.ClE_0? (*entry).taskproc.ClP_0((*entry).elapsed, (*entry).taskproc.ClE_0):((TM__xUHzpMQRd0lsW9aPWw1e03w_18)((*entry).taskproc.ClP_0))((*entry).elapsed);
  625. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  626. (*entry).elapsed = 0ULL;
  627. }
  628. LA8_: ;
  629. (*entry).elapsed = (NU64)((NU64)((*entry).elapsed) + (NU64)(dt));
  630. {
  631. if (!(((NI) 4) <= ((NI) (i)))) goto LA12_;
  632. goto LA4;
  633. }
  634. LA12_: ;
  635. if (nimAddInt(i, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_19)) { raiseOverflow(); goto BeforeRet_;
  636. };
  637. if (TM__xUHzpMQRd0lsW9aPWw1e03w_19 < 0 || TM__xUHzpMQRd0lsW9aPWw1e03w_19 > 4){ raiseOverflow(); goto BeforeRet_;
  638. }
  639. i = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_19);
  640. }
  641. } LA4: ;
  642. }
  643. prevTime = now;
  644. }
  645. }
  646. }BeforeRet_: ;
  647. }
  648. static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
  649. NI result;
  650. result = (NI)0;
  651. result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
  652. return result;
  653. }
  654. static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
  655. NIM_BOOL result;
  656. { result = (NIM_BOOL)0;
  657. {
  658. tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
  659. NI T5_;
  660. if (!!((p == NIM_NIL))) goto LA3_;
  661. T5_ = (NI)0;
  662. T5_ = minuspercent___system_716(((NI) (ptrdiff_t) (p)), ((NI) 4));
  663. cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
  664. {
  665. if (!((NI)((*cell).rc & ((NI) -8)) == ((NI) 0))) goto LA8_;
  666. result = NIM_TRUE;
  667. }
  668. goto LA6_;
  669. LA8_: ;
  670. {
  671. NI TM__xUHzpMQRd0lsW9aPWw1e03w_20;
  672. if (nimSubInt((*cell).rc, ((NI) 8), &TM__xUHzpMQRd0lsW9aPWw1e03w_20)) { raiseOverflow(); goto BeforeRet_;
  673. };
  674. (*cell).rc = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_20);
  675. }
  676. LA6_: ;
  677. }
  678. LA3_: ;
  679. }BeforeRet_: ;
  680. return result;
  681. }
  682. N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___firmware_247)(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ* dest) {
  683. NI colontmp_;
  684. colontmp_ = ((NI) 0);
  685. {
  686. while (1) {
  687. if (!(colontmp_ < ((NI) 5))) goto LA2;
  688. {
  689. NIM_BOOL T5_;
  690. T5_ = (NIM_BOOL)0;
  691. T5_ = nimDecRefIsLast(dest[(colontmp_)- 0].taskproc.ClE_0);
  692. if (!T5_) goto LA6_;
  693. nimDestroyAndDispose(dest[(colontmp_)- 0].taskproc.ClE_0);
  694. }
  695. LA6_: ;
  696. colontmp_ += ((NI) 1);
  697. } LA2: ;
  698. }
  699. }
  700. static N_INLINE(void, initStackBottomWith)(void* locals) {
  701. }
  702.  
  703. N_LIB_PRIVATE void PreMainInner(void) {
  704. firmware_inpi55Init000();
  705. firmware_veml7700Init000();
  706. }
  707.  
  708. N_LIB_PRIVATE int cmdCount;
  709. N_LIB_PRIVATE char** cmdLine;
  710. N_LIB_PRIVATE char** gEnv;
  711. N_LIB_PRIVATE void PreMain(void) {
  712. void (*volatile inner)(void);
  713. inner = PreMainInner;
  714. systemDatInit000();
  715. systemInit000();
  716. (*inner)();
  717. }
  718.  
  719. N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
  720. NimMainModule();
  721. }
  722.  
  723. N_CDECL(void, NimMain)(void) {
  724. void (*volatile inner)(void);
  725. PreMain();
  726. inner = NimMainInner;
  727. initStackBottomWith((void *)&inner);
  728. (*inner)();
  729. }
  730.  
  731. int main(int argc, char** args, char** env) {
  732. cmdLine = args;
  733. cmdCount = argc;
  734. gEnv = env;
  735. NimMain();
  736. return nim_program_result;
  737. }
  738.  
  739. N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
  740. {
  741. tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T1_;
  742. tyProc__LFyyYFNLVDjCVfZTj39cccg T2_;
  743. tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T3_;
  744. tyProc__LFyyYFNLVDjCVfZTj39cccg T4_;
  745. tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T5_;
  746. tyProc__LFyyYFNLVDjCVfZTj39cccg T6_;
  747. tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T7_;
  748. tyProc__LFyyYFNLVDjCVfZTj39cccg T8_;
  749. tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T9_;
  750. tyProc__LFyyYFNLVDjCVfZTj39cccg T10_;
  751. NIM_BOOL* nimErr_;
  752. nimErr_ = nimErrorFlag();
  753. nimZeroMem((void*)(&T1_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  754. nimZeroMem((void*)(&T1_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  755. T1_.period = 10000ULL;
  756. nimZeroMem((void*)(&T2_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
  757. T2_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_2) (blinkLedTask__firmware_48)); T2_.ClE_0 = NIM_NIL;
  758. T1_.taskproc.ClE_0 = T2_.ClE_0;
  759. T1_.taskproc.ClP_0 = T2_.ClP_0;
  760. T1_.elapsed = 0ULL;
  761. SchedulerTable__firmware_211[0].period = T1_.period;
  762. SchedulerTable__firmware_211[0].elapsed = T1_.elapsed;
  763. SchedulerTable__firmware_211[0].taskproc.ClE_0 = T1_.taskproc.ClE_0;
  764. SchedulerTable__firmware_211[0].taskproc.ClP_0 = T1_.taskproc.ClP_0;
  765. nimZeroMem((void*)(&T3_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  766. nimZeroMem((void*)(&T3_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  767. T3_.period = 10000ULL;
  768. nimZeroMem((void*)(&T4_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
  769. T4_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_5) (hidKeysTask__firmware_72)); T4_.ClE_0 = NIM_NIL;
  770. T3_.taskproc.ClE_0 = T4_.ClE_0;
  771. T3_.taskproc.ClP_0 = T4_.ClP_0;
  772. T3_.elapsed = 0ULL;
  773. SchedulerTable__firmware_211[1].period = T3_.period;
  774. SchedulerTable__firmware_211[1].elapsed = T3_.elapsed;
  775. SchedulerTable__firmware_211[1].taskproc.ClE_0 = T3_.taskproc.ClE_0;
  776. SchedulerTable__firmware_211[1].taskproc.ClP_0 = T3_.taskproc.ClP_0;
  777. nimZeroMem((void*)(&T5_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  778. nimZeroMem((void*)(&T5_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  779. T5_.period = 2500ULL;
  780. nimZeroMem((void*)(&T6_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
  781. T6_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_6) (encoderTask__firmware_167)); T6_.ClE_0 = NIM_NIL;
  782. T5_.taskproc.ClE_0 = T6_.ClE_0;
  783. T5_.taskproc.ClP_0 = T6_.ClP_0;
  784. T5_.elapsed = 0ULL;
  785. SchedulerTable__firmware_211[2].period = T5_.period;
  786. SchedulerTable__firmware_211[2].elapsed = T5_.elapsed;
  787. SchedulerTable__firmware_211[2].taskproc.ClE_0 = T5_.taskproc.ClE_0;
  788. SchedulerTable__firmware_211[2].taskproc.ClP_0 = T5_.taskproc.ClP_0;
  789. nimZeroMem((void*)(&T7_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  790. nimZeroMem((void*)(&T7_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  791. T7_.period = 10000ULL;
  792. nimZeroMem((void*)(&T8_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
  793. T8_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_7) (rgbTask__firmware_200)); T8_.ClE_0 = NIM_NIL;
  794. T7_.taskproc.ClE_0 = T8_.ClE_0;
  795. T7_.taskproc.ClP_0 = T8_.ClP_0;
  796. T7_.elapsed = 0ULL;
  797. SchedulerTable__firmware_211[3].period = T7_.period;
  798. SchedulerTable__firmware_211[3].elapsed = T7_.elapsed;
  799. SchedulerTable__firmware_211[3].taskproc.ClE_0 = T7_.taskproc.ClE_0;
  800. SchedulerTable__firmware_211[3].taskproc.ClP_0 = T7_.taskproc.ClP_0;
  801. nimZeroMem((void*)(&T9_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  802. nimZeroMem((void*)(&T9_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
  803. T9_.period = 500000ULL;
  804. nimZeroMem((void*)(&T10_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
  805. T10_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_14) (vemlTask__firmware_203)); T10_.ClE_0 = NIM_NIL;
  806. T9_.taskproc.ClE_0 = T10_.ClE_0;
  807. T9_.taskproc.ClP_0 = T10_.ClP_0;
  808. T9_.elapsed = 0ULL;
  809. SchedulerTable__firmware_211[4].period = T9_.period;
  810. SchedulerTable__firmware_211[4].elapsed = T9_.elapsed;
  811. SchedulerTable__firmware_211[4].taskproc.ClE_0 = T9_.taskproc.ClE_0;
  812. SchedulerTable__firmware_211[4].taskproc.ClP_0 = T9_.taskproc.ClP_0;
  813. setup__firmware_282();
  814. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  815. main__firmware_343();
  816. if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  817. eqdestroy___firmware_247(SchedulerTable__firmware_211);
  818. BeforeRet_: ;
  819. nimTestErrorFlag();
  820. }
  821. }
  822.  
  823.  
Advertisement
Add Comment
Please, Sign In to add comment