Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Generated by Nim Compiler v1.6.2 */
- #define NIM_INTBITS 32
- #define NIM_EmulateOverflowChecks
- #include "nimbase.h"
- #include <string.h>
- #include "hardware/gpio.h"
- #include "tusb.h"
- #include "usb_descriptors.h"
- #include "bsp/board.h"
- #include "pico/time.h"
- #include "hardware/timer.h"
- #undef LANGUAGE_C
- #undef MIPSEB
- #undef MIPSEL
- #undef PPC
- #undef R3000
- #undef R4000
- #undef i386
- #undef linux
- #undef mips
- #undef near
- #undef far
- #undef powerpc
- #undef unix
- #define nimfr_(x, y)
- #define nimln_(x, y)
- typedef struct tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ;
- typedef struct tyTuple__2Q5Sh7Js1oGqLI2XX023zA tyTuple__2Q5Sh7Js1oGqLI2XX023zA;
- typedef struct NimStrPayload NimStrPayload;
- typedef struct NimStringV2 NimStringV2;
- typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
- typedef struct {
- N_NIMCALL_PTR(void, ClP_0) (NU64 elapsed, void* ClE_0);
- void* ClE_0;
- } tyProc__LFyyYFNLVDjCVfZTj39cccg;
- struct tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ {
- NU64 period;
- NU64 elapsed;
- tyProc__LFyyYFNLVDjCVfZTj39cccg taskproc;
- };
- typedef tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ tyArray__DMI0LJyInPSw39aegCXksNA[5];
- typedef NI tyArray__rDlhhdNzrqWrozIj9bj2z6A[3];
- typedef NU8 tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg;
- typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_2) (NU64 elapsed, void* ClE_0);
- typedef NU8 tySet_tyEnum_KeyModifier__KaiXCqF9b80pkQKXWylxgRg;
- typedef NU8 tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A;
- typedef tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A tyArray__JytcM6YvWmk8W9bnuvzb9aMg[6];
- struct tyTuple__2Q5Sh7Js1oGqLI2XX023zA {
- NI Field0;
- NU32 Field1;
- };
- typedef NU32 tyArray__eFPd5iKUdU49cK0uBZ9b5WvQ[6];
- typedef tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A tyArray__LmhUVPgRzj3nyG7FAQbLbQ[6];
- typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_5) (NU64 elapsed, void* ClE_0);
- typedef NU32 tyArray__Q729a3aMLeHy6TdfARGgKFA[2];
- typedef NU8 tySet_tyEnum_MouseButton__Ogz553AesVhgnSIEEcglHA;
- typedef NU8 tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA;
- typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_6) (NU64 elapsed, void* ClE_0);
- typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_7) (NU64 elapsed, void* ClE_0);
- struct NimStrPayload {
- NI cap;
- NIM_CHAR data[SEQ_DECL_SIZE];
- };
- struct NimStringV2 {
- NI len;
- NimStrPayload* p;
- };
- typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_14) (NU64 elapsed, void* ClE_0);
- typedef NU32 tyArray__kG0j9bEGId48BIgnb4RS1Og[6];
- typedef NU8 tyEnum_Sensitivity__nVkL9bwHKNxQ7HnrGo9aPZ4w;
- typedef NU8 tyEnum_IntegrationTime__B9ch3iHqMNrkl8PUt2m7w9cg;
- typedef N_CLOSURE_PTR(void, TM__xUHzpMQRd0lsW9aPWw1e03w_18) (NU64 elapsed);
- struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
- NI rc;
- };
- 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)]");
- 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)]");
- static N_INLINE(void, nimZeroMem)(void* p, NI size);
- static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
- static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
- N_LIB_PRIVATE N_NIMCALL(void, blinkLedTask__firmware_48)(NU64 elapsed);
- N_LIB_PRIVATE N_NIMCALL(tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg, getUsbState__usb_83)(void);
- N_LIB_PRIVATE N_NIMCALL(void, hidKeysTask__firmware_72)(NU64 elapsed);
- N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError3)(NI i, NI a, NI b);
- N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
- static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res);
- N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
- N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sendKeyboardReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_464)(NU8 itf, NU8 id, hid_keyboard_report_t report);
- N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
- N_LIB_PRIVATE N_NIMCALL(void, encoderTask__firmware_167)(NU64 elapsed);
- N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sendMouseReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_395)(NU8 itf, NU8 id, hid_mouse_report_t report);
- static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
- N_LIB_PRIVATE N_NIMCALL(void, rgbTask__firmware_200)(NU64 elapsed);
- N_LIB_PRIVATE N_NIMCALL(void, nextRainbowColor__inpi5353_246)(void);
- N_LIB_PRIVATE N_NIMCALL(void, vemlTask__firmware_203)(NU64 elapsed);
- N_LIB_PRIVATE N_NIMCALL(NU16, vemlRead__veml55554848_155)(void);
- static N_INLINE(void, writeLine__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_730)(NU8 itf, NimStringV2 s);
- static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_684)(NU8 itf, NimStringV2 s);
- static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res);
- static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_727)(NU8 itf, NIM_CHAR c);
- static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src);
- static N_INLINE(void, copyMem__system_1698)(void* dest, void* source, NI size);
- N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_9)(NU64 x);
- N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space);
- N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_2581)(NimStringV2* dest);
- N_LIB_PRIVATE N_NIMCALL(void, setup__firmware_282)(void);
- N_LIB_PRIVATE N_NIMCALL(void, initInPi55Pio__inpi5353_58)(void);
- N_LIB_PRIVATE N_NIMCALL(void, initVeml__veml55554848_108)(void);
- 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);
- N_LIB_PRIVATE N_NIMCALL(void, main__firmware_343)(void);
- N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
- N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___firmware_247)(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ* dest);
- static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
- static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
- N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
- static N_INLINE(void, initStackBottomWith)(void* locals);
- N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
- N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
- N_LIB_PRIVATE N_NIMCALL(void, firmware_inpi55Init000)(void);
- N_LIB_PRIVATE N_NIMCALL(void, firmware_veml7700Init000)(void);
- N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
- N_LIB_PRIVATE NIM_CONST tyArray__rDlhhdNzrqWrozIj9bj2z6A blinkIntervalArr__firmware_50 = {((NI) 1000),
- ((NI) 2500),
- ((NI) 250)}
- ;
- N_LIB_PRIVATE NIM_CONST tyArray__eFPd5iKUdU49cK0uBZ9b5WvQ SwitchTable__firmware_15 = {((NU32) 3),
- ((NU32) 4),
- ((NU32) 5),
- ((NU32) 8),
- ((NU32) 7),
- ((NU32) 6)}
- ;
- N_LIB_PRIVATE NIM_CONST tyArray__LmhUVPgRzj3nyG7FAQbLbQ KeyMapFKeys__firmware_16 = {((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 105),
- ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 106),
- ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 107),
- ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 108),
- ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 109),
- ((tyEnum_KeyboardKeypress__ScYpwOjTs8wVXwVjO9aCF4A) 110)}
- ;
- static const struct {
- NI cap; NIM_CHAR data[6+1];
- } TM__xUHzpMQRd0lsW9aPWw1e03w_10 = { 6 | NIM_STRLIT_FLAG, "VEML: " };
- static const NimStringV2 TM__xUHzpMQRd0lsW9aPWw1e03w_11 = {6, (NimStrPayload*)&TM__xUHzpMQRd0lsW9aPWw1e03w_10};
- static NIM_CONST tyArray__kG0j9bEGId48BIgnb4RS1Og TM__xUHzpMQRd0lsW9aPWw1e03w_16 = {((NU32) 19),
- ((NU32) 20),
- ((NU32) 18),
- ((NU32) 13),
- ((NU32) 14),
- ((NU32) 15)}
- ;
- N_LIB_PRIVATE tyArray__DMI0LJyInPSw39aegCXksNA SchedulerTable__firmware_211;
- extern NIM_BOOL nimInErrorMode__system_3432;
- N_LIB_PRIVATE NU64 nextChange__firmware_51;
- N_LIB_PRIVATE NIM_BOOL ledState__firmware_52;
- N_LIB_PRIVATE NI prevKeyCount__firmware_74;
- N_LIB_PRIVATE tyArray__Q729a3aMLeHy6TdfARGgKFA prevState__firmware_169;
- N_LIB_PRIVATE NIM_BOOL isInit__firmware_170 = NIM_FALSE;
- N_LIB_PRIVATE NU64 remain__firmware_202;
- static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
- void* T1_;
- T1_ = (void*)0;
- T1_ = memset(a, v, ((size_t) (size)));
- }
- static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
- NIM_BOOL* result;
- result = (NIM_BOOL*)0;
- result = (&nimInErrorMode__system_3432);
- return result;
- }
- static N_INLINE(void, nimZeroMem)(void* p, NI size) {
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- nimSetMem__systemZmemory_7(p, ((int) 0), size);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- }BeforeRet_: ;
- }
- N_LIB_PRIVATE N_NIMCALL(void, blinkLedTask__firmware_48)(NU64 elapsed) {
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- {
- if (!((NU64)(elapsed) < (NU64)(nextChange__firmware_51))) goto LA3_;
- nextChange__firmware_51 = (NU64)((NU64)(nextChange__firmware_51) - (NU64)(elapsed));
- }
- goto LA1_;
- LA3_: ;
- {
- NU32 colontmpD_;
- NU32 colontmpD__2;
- NU32 T6_;
- NI blinkInterval;
- tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg T12_;
- colontmpD_ = (NU32)0;
- colontmpD__2 = (NU32)0;
- T6_ = (NU32)0;
- {
- if (!ledState__firmware_52) goto LA9_;
- colontmpD_ = ((NU32) 0);
- T6_ = colontmpD_;
- }
- goto LA7_;
- LA9_: ;
- {
- colontmpD__2 = ((NU32) 1);
- T6_ = colontmpD__2;
- }
- LA7_: ;
- gpio_put(((NU32) 25), T6_);
- ledState__firmware_52 = !(ledState__firmware_52);
- T12_ = (tyEnum_UsbMountState__9aUpx21O2CN14jGXCipynlg)0;
- T12_ = getUsbState__usb_83();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- blinkInterval = blinkIntervalArr__firmware_50[(T12_)- 0];
- nextChange__firmware_51 = (NU64)((NU64)(((NU64) (blinkInterval))) * (NU64)(1000ULL));
- }
- LA1_: ;
- }BeforeRet_: ;
- }
- static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res) {
- NIM_BOOL result;
- NI r;
- result = (NIM_BOOL)0;
- r = ((NI) ((NU)((NU32)(((NU) (a))) + (NU32)(((NU) (b))))));
- {
- NIM_BOOL T3_;
- T3_ = (NIM_BOOL)0;
- T3_ = (((NI) 0) <= (NI)(r ^ a));
- if (T3_) goto LA4_;
- T3_ = (((NI) 0) <= (NI)(r ^ b));
- LA4_: ;
- if (!T3_) goto LA5_;
- (*res) = r;
- }
- goto LA1_;
- LA5_: ;
- {
- result = NIM_TRUE;
- }
- LA1_: ;
- return result;
- }
- N_LIB_PRIVATE N_NIMCALL(void, hidKeysTask__firmware_72)(NU64 elapsed) {
- NI i;
- hid_keyboard_report_t report;
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- {
- NIM_BOOL T3_;
- T3_ = (NIM_BOOL)0;
- T3_ = tud_hid_n_ready(((NU8) 0));
- if (!!(T3_)) goto LA4_;
- goto BeforeRet_;
- }
- LA4_: ;
- i = ((NI) 0);
- nimZeroMem((void*)(&report), sizeof(hid_keyboard_report_t));
- {
- NI idx;
- NU32 pin;
- NI i_2;
- idx = (NI)0;
- pin = (NU32)0;
- i_2 = ((NI) 1);
- {
- while (1) {
- tyTuple__2Q5Sh7Js1oGqLI2XX023zA colontmp_;
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_4;
- colontmp_.Field0 = i_2;
- if (i_2 < 1 || i_2 > 6){ raiseIndexError3(i_2, 1, 6); goto BeforeRet_;
- }
- colontmp_.Field1 = SwitchTable__firmware_15[(i_2)- 1];
- idx = colontmp_.Field0;
- pin = colontmp_.Field1;
- {
- NU32 T11_;
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_3;
- T11_ = (NU32)0;
- T11_ = gpio_get(pin);
- if (!(T11_ == ((NU32) 0))) goto LA12_;
- if ((NU)(i) > (NU)(5)){ raiseIndexError2(i, 5); goto BeforeRet_;
- }
- if (idx < 1 || idx > 6){ raiseIndexError3(idx, 1, 6); goto BeforeRet_;
- }
- report.keycode[(i)- 0] = KeyMapFKeys__firmware_16[(idx)- 1];
- if (nimAddInt(i, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_3)) { raiseOverflow(); goto BeforeRet_;
- };
- i = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_3);
- }
- LA12_: ;
- {
- if (!(((NI) 6) <= ((NI) (i_2)))) goto LA16_;
- goto LA7;
- }
- LA16_: ;
- if (nimAddInt(i_2, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_4)) { raiseOverflow(); goto BeforeRet_;
- };
- if (TM__xUHzpMQRd0lsW9aPWw1e03w_4 < 1 || TM__xUHzpMQRd0lsW9aPWw1e03w_4 > 6){ raiseOverflow(); goto BeforeRet_;
- }
- i_2 = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_4);
- }
- } LA7: ;
- }
- {
- NIM_BOOL T20_;
- NIM_BOOL T24_;
- T20_ = (NIM_BOOL)0;
- T20_ = (((NI) 0) < i);
- if (T20_) goto LA21_;
- T20_ = (((NI) 0) < ((NI) (prevKeyCount__firmware_74)));
- LA21_: ;
- if (!T20_) goto LA22_;
- T24_ = (NIM_BOOL)0;
- T24_ = sendKeyboardReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_464(((NU8) 0), REPORT_ID_KEYBOARD, report);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- (void)(T24_);
- tud_task();
- }
- LA22_: ;
- if ((i) < ((NI) 0) || (i) > ((NI) 2147483647)){ raiseRangeErrorI(i, ((NI) 0), ((NI) 2147483647)); goto BeforeRet_;
- }
- prevKeyCount__firmware_74 = ((NI) (i));
- }BeforeRet_: ;
- }
- static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
- void* T1_;
- T1_ = (void*)0;
- T1_ = memcpy(dest, source, ((size_t) (size)));
- }
- N_LIB_PRIVATE N_NIMCALL(void, encoderTask__firmware_167)(NU64 elapsed) {
- hid_mouse_report_t report;
- tyArray__Q729a3aMLeHy6TdfARGgKFA curState;
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- nimZeroMem((void*)(&report), sizeof(hid_mouse_report_t));
- {
- if (!!(isInit__firmware_170)) goto LA3_;
- prevState__firmware_169[0] = gpio_get(((NU32) 19));
- prevState__firmware_169[1] = gpio_get(((NU32) 20));
- isInit__firmware_170 = NIM_TRUE;
- }
- LA3_: ;
- nimZeroMem((void*)curState, sizeof(tyArray__Q729a3aMLeHy6TdfARGgKFA));
- curState[0] = gpio_get(((NU32) 19));
- curState[1] = gpio_get(((NU32) 20));
- {
- NIM_BOOL T7_;
- NI8 colontmpD_;
- NI8 colontmpD__2;
- T7_ = (NIM_BOOL)0;
- T7_ = (prevState__firmware_169[(((tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA) 0))- 0] == ((NU32) 0));
- if (!(T7_)) goto LA8_;
- T7_ = (curState[(((tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA) 0))- 0] == ((NU32) 1));
- LA8_: ;
- if (!T7_) goto LA9_;
- colontmpD_ = (NI8)0;
- colontmpD__2 = (NI8)0;
- {
- if (!(curState[(((tyEnum_REncChannel__UEyUzIvvGDtrc0PX9bfySxA) 1))- 0] == ((NU32) 1))) goto LA13_;
- colontmpD_ = ((NI8) 1);
- report.wheel = colontmpD_;
- }
- goto LA11_;
- LA13_: ;
- {
- colontmpD__2 = ((NI8) -1);
- report.wheel = colontmpD__2;
- }
- LA11_: ;
- {
- NIM_BOOL T18_;
- NIM_BOOL T21_;
- T18_ = (NIM_BOOL)0;
- T18_ = tud_hid_n_ready(((NU8) 0));
- if (!T18_) goto LA19_;
- T21_ = (NIM_BOOL)0;
- T21_ = sendMouseReport__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_395(((NU8) 0), REPORT_ID_MOUSE, report);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- (void)(T21_);
- tud_task();
- }
- LA19_: ;
- }
- LA9_: ;
- nimCopyMem((void*)prevState__firmware_169, (NIM_CONST void*)curState, sizeof(tyArray__Q729a3aMLeHy6TdfARGgKFA));
- }BeforeRet_: ;
- }
- N_LIB_PRIVATE N_NIMCALL(void, rgbTask__firmware_200)(NU64 elapsed) {
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- {
- if (!((NU64)(elapsed) < (NU64)(remain__firmware_202))) goto LA3_;
- remain__firmware_202 = (NU64)((NU64)(remain__firmware_202) - (NU64)(elapsed));
- }
- goto LA1_;
- LA3_: ;
- {
- remain__firmware_202 = 40000ULL;
- nextRainbowColor__inpi5353_246();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- }
- LA1_: ;
- }BeforeRet_: ;
- }
- static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res) {
- NIM_BOOL result;
- NI r;
- result = (NIM_BOOL)0;
- r = ((NI) ((NU)((NU32)(((NU) (a))) - (NU32)(((NU) (b))))));
- {
- NIM_BOOL T3_;
- T3_ = (NIM_BOOL)0;
- T3_ = (((NI) 0) <= (NI)(r ^ a));
- if (T3_) goto LA4_;
- T3_ = (((NI) 0) <= (NI)(r ^ (NI)((NU32) ~(b))));
- LA4_: ;
- if (!T3_) goto LA5_;
- (*res) = r;
- }
- goto LA1_;
- LA5_: ;
- {
- result = NIM_TRUE;
- }
- LA1_: ;
- return result;
- }
- static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_684)(NU8 itf, NimStringV2 s) {
- NI iX60gensym5_;
- NI remainX60gensym5_;
- { iX60gensym5_ = ((NI) 0);
- remainX60gensym5_ = s.len;
- {
- while (1) {
- NIM_BOOL T3_;
- NIM_CHAR* bufferX60gensym5_;
- NI wrcountX60gensym5_;
- NU32 T5_;
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_8;
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_9;
- NU32 T6_;
- T3_ = (NIM_BOOL)0;
- T3_ = (((NI) 0) < remainX60gensym5_);
- if (!(T3_)) goto LA4_;
- T3_ = tud_cdc_n_connected(((NU8) (itf)));
- LA4_: ;
- if (!T3_) goto LA2;
- if ((NU)(iX60gensym5_) >= (NU)s.len){ raiseIndexError2(iX60gensym5_,s.len-1); goto BeforeRet_;
- }
- bufferX60gensym5_ = (&s.p->data[iX60gensym5_]);
- T5_ = (NU32)0;
- T5_ = tud_cdc_n_write(((NU8) (itf)), ((void*) (bufferX60gensym5_)), ((NU32) (remainX60gensym5_)));
- if ((NI64)(T5_) < ((NI) (-2147483647 -1)) || (NI64)(T5_) > ((NI) 2147483647)){ raiseRangeErrorI(T5_, ((NI) (-2147483647 -1)), ((NI) 2147483647)); goto BeforeRet_;
- }
- wrcountX60gensym5_ = ((NI) (T5_));
- if (nimAddInt(iX60gensym5_, wrcountX60gensym5_, &TM__xUHzpMQRd0lsW9aPWw1e03w_8)) { raiseOverflow(); goto BeforeRet_;
- };
- iX60gensym5_ = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_8);
- if (nimSubInt(remainX60gensym5_, wrcountX60gensym5_, &TM__xUHzpMQRd0lsW9aPWw1e03w_9)) { raiseOverflow(); goto BeforeRet_;
- };
- remainX60gensym5_ = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_9);
- tud_task();
- T6_ = (NU32)0;
- T6_ = tud_cdc_n_write_flush(((NU8) (itf)));
- (void)(T6_);
- } LA2: ;
- }
- }BeforeRet_: ;
- }
- static N_INLINE(void, write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_727)(NU8 itf, NIM_CHAR c) {
- NU32 T1_;
- T1_ = (NU32)0;
- T1_ = tud_cdc_n_write_char(((NU8) (itf)), c);
- (void)(T1_);
- }
- static N_INLINE(void, writeLine__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_730)(NU8 itf, NimStringV2 s) {
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_684(itf, s);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- write__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_727(itf, 10);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- }BeforeRet_: ;
- }
- static N_INLINE(void, copyMem__system_1698)(void* dest, void* source, NI size) {
- nimCopyMem(dest, source, size);
- }
- static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) {
- { {
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_12;
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_13;
- if (!(((NI) 0) < src.len)) goto LA3_;
- if (nimAddInt(src.len, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_12)) { raiseOverflow(); goto BeforeRet_;
- };
- if (((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12)) < ((NI) 0) || ((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12)) > ((NI) 2147483647)){ raiseRangeErrorI((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12), ((NI) 0), ((NI) 2147483647)); goto BeforeRet_;
- }
- copyMem__system_1698(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI) 0)]))), ((NI) ((NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_12))));
- if (nimAddInt((*dest).len, src.len, &TM__xUHzpMQRd0lsW9aPWw1e03w_13)) { raiseOverflow(); goto BeforeRet_;
- };
- (*dest).len = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_13);
- }
- LA3_: ;
- }BeforeRet_: ;
- }
- N_LIB_PRIVATE N_NIMCALL(void, vemlTask__firmware_203)(NU64 elapsed) {
- NimStringV2 colontmpD_;
- NimStringV2 colontmpD__2;
- NU16 val;
- NimStringV2 T1_;
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
- colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
- val = vemlRead__veml55554848_155();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- T1_.len = 0; T1_.p = NIM_NIL;
- colontmpD_ = dollar___systemZdollars_9(((NU64) (val)));
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- T1_ = rawNewString(colontmpD_.len + 6);
- appendString((&T1_), TM__xUHzpMQRd0lsW9aPWw1e03w_11);
- appendString((&T1_), colontmpD_);
- colontmpD__2 = T1_;
- writeLine__OOZOOZOOZOOZOnimbleZpkgsZpicostdlib4535config45fileZpicostdlibZtusb_730(((NU8) 0), colontmpD__2);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- eqdestroy___system_2581((&colontmpD__2));
- eqdestroy___system_2581((&colontmpD_));
- }BeforeRet_: ;
- }
- N_LIB_PRIVATE N_NIMCALL(void, setup__firmware_282)(void) {
- NIM_BOOL T1_;
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- T1_ = (NIM_BOOL)0;
- T1_ = tusb_init();
- (void)(T1_);
- board_init();
- sleep_ms(((NU32) 10));
- gpio_init(((NU32) 25));
- gpio_set_dir(((NU32) 25), NIM_TRUE);
- {
- NU32 ksw;
- NI i;
- ksw = (NU32)0;
- i = ((NI) 1);
- {
- while (1) {
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_15;
- if (i < 1 || i > 6){ raiseIndexError3(i, 1, 6); goto BeforeRet_;
- }
- ksw = SwitchTable__firmware_15[(i)- 1];
- gpio_init(ksw);
- gpio_disable_pulls(ksw);
- {
- if (!(((NI) 6) <= ((NI) (i)))) goto LA7_;
- goto LA3;
- }
- LA7_: ;
- if (nimAddInt(i, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_15)) { raiseOverflow(); goto BeforeRet_;
- };
- if (TM__xUHzpMQRd0lsW9aPWw1e03w_15 < 1 || TM__xUHzpMQRd0lsW9aPWw1e03w_15 > 6){ raiseOverflow(); goto BeforeRet_;
- }
- i = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_15);
- }
- } LA3: ;
- }
- {
- NU32 pin;
- NI i_2;
- pin = (NU32)0;
- i_2 = ((NI) 0);
- {
- while (1) {
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_17;
- pin = TM__xUHzpMQRd0lsW9aPWw1e03w_16[(i_2)- 0];
- gpio_init(pin);
- gpio_disable_pulls(pin);
- {
- if (!(((NI) 5) <= ((NI) (i_2)))) goto LA14_;
- goto LA10;
- }
- LA14_: ;
- if (nimAddInt(i_2, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_17)) { raiseOverflow(); goto BeforeRet_;
- };
- if (TM__xUHzpMQRd0lsW9aPWw1e03w_17 < 0 || TM__xUHzpMQRd0lsW9aPWw1e03w_17 > 5){ raiseOverflow(); goto BeforeRet_;
- }
- i_2 = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_17);
- }
- } LA10: ;
- }
- initInPi55Pio__inpi5353_58();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- initVeml__veml55554848_108();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- vemlConfig__veml55554848_58(((tyEnum_Sensitivity__nVkL9bwHKNxQ7HnrGo9aPZ4w) 0), ((tyEnum_IntegrationTime__B9ch3iHqMNrkl8PUt2m7w9cg) 1), ((NI) 0), NIM_FALSE, NIM_FALSE);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- }BeforeRet_: ;
- }
- N_LIB_PRIVATE N_NIMCALL(void, main__firmware_343)(void) {
- NU64 prevTime;
- NU64 maxLoopTime;
- NI loopCount;
- NIM_BOOL* nimErr_;
- {nimErr_ = nimErrorFlag();
- prevTime = 0ULL;
- maxLoopTime = (NU64)0;
- loopCount = (NI)0;
- {
- while (1) {
- NU64 now;
- NU64 dt;
- tud_task();
- now = time_us_64();
- dt = (NU64)((NU64)(now) - (NU64)(prevTime));
- {
- tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ* entry;
- NI i;
- entry = (tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ*)0;
- i = ((NI) 0);
- {
- while (1) {
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_19;
- entry = (&SchedulerTable__firmware_211[(i)- 0]);
- {
- if (!((NU64)((*entry).period) < (NU64)((*entry).elapsed))) goto LA8_;
- (*entry).taskproc.ClE_0? (*entry).taskproc.ClP_0((*entry).elapsed, (*entry).taskproc.ClE_0):((TM__xUHzpMQRd0lsW9aPWw1e03w_18)((*entry).taskproc.ClP_0))((*entry).elapsed);
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- (*entry).elapsed = 0ULL;
- }
- LA8_: ;
- (*entry).elapsed = (NU64)((NU64)((*entry).elapsed) + (NU64)(dt));
- {
- if (!(((NI) 4) <= ((NI) (i)))) goto LA12_;
- goto LA4;
- }
- LA12_: ;
- if (nimAddInt(i, ((NI) 1), &TM__xUHzpMQRd0lsW9aPWw1e03w_19)) { raiseOverflow(); goto BeforeRet_;
- };
- if (TM__xUHzpMQRd0lsW9aPWw1e03w_19 < 0 || TM__xUHzpMQRd0lsW9aPWw1e03w_19 > 4){ raiseOverflow(); goto BeforeRet_;
- }
- i = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_19);
- }
- } LA4: ;
- }
- prevTime = now;
- }
- }
- }BeforeRet_: ;
- }
- static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
- NI result;
- result = (NI)0;
- result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
- return result;
- }
- static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
- NIM_BOOL result;
- { result = (NIM_BOOL)0;
- {
- tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
- NI T5_;
- if (!!((p == NIM_NIL))) goto LA3_;
- T5_ = (NI)0;
- T5_ = minuspercent___system_716(((NI) (ptrdiff_t) (p)), ((NI) 4));
- cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
- {
- if (!((NI)((*cell).rc & ((NI) -8)) == ((NI) 0))) goto LA8_;
- result = NIM_TRUE;
- }
- goto LA6_;
- LA8_: ;
- {
- NI TM__xUHzpMQRd0lsW9aPWw1e03w_20;
- if (nimSubInt((*cell).rc, ((NI) 8), &TM__xUHzpMQRd0lsW9aPWw1e03w_20)) { raiseOverflow(); goto BeforeRet_;
- };
- (*cell).rc = (NI)(TM__xUHzpMQRd0lsW9aPWw1e03w_20);
- }
- LA6_: ;
- }
- LA3_: ;
- }BeforeRet_: ;
- return result;
- }
- N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___firmware_247)(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ* dest) {
- NI colontmp_;
- colontmp_ = ((NI) 0);
- {
- while (1) {
- if (!(colontmp_ < ((NI) 5))) goto LA2;
- {
- NIM_BOOL T5_;
- T5_ = (NIM_BOOL)0;
- T5_ = nimDecRefIsLast(dest[(colontmp_)- 0].taskproc.ClE_0);
- if (!T5_) goto LA6_;
- nimDestroyAndDispose(dest[(colontmp_)- 0].taskproc.ClE_0);
- }
- LA6_: ;
- colontmp_ += ((NI) 1);
- } LA2: ;
- }
- }
- static N_INLINE(void, initStackBottomWith)(void* locals) {
- }
- N_LIB_PRIVATE void PreMainInner(void) {
- firmware_inpi55Init000();
- firmware_veml7700Init000();
- }
- N_LIB_PRIVATE int cmdCount;
- N_LIB_PRIVATE char** cmdLine;
- N_LIB_PRIVATE char** gEnv;
- N_LIB_PRIVATE void PreMain(void) {
- void (*volatile inner)(void);
- inner = PreMainInner;
- systemDatInit000();
- systemInit000();
- (*inner)();
- }
- N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
- NimMainModule();
- }
- N_CDECL(void, NimMain)(void) {
- void (*volatile inner)(void);
- PreMain();
- inner = NimMainInner;
- initStackBottomWith((void *)&inner);
- (*inner)();
- }
- int main(int argc, char** args, char** env) {
- cmdLine = args;
- cmdCount = argc;
- gEnv = env;
- NimMain();
- return nim_program_result;
- }
- N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
- {
- tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T1_;
- tyProc__LFyyYFNLVDjCVfZTj39cccg T2_;
- tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T3_;
- tyProc__LFyyYFNLVDjCVfZTj39cccg T4_;
- tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T5_;
- tyProc__LFyyYFNLVDjCVfZTj39cccg T6_;
- tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T7_;
- tyProc__LFyyYFNLVDjCVfZTj39cccg T8_;
- tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ T9_;
- tyProc__LFyyYFNLVDjCVfZTj39cccg T10_;
- NIM_BOOL* nimErr_;
- nimErr_ = nimErrorFlag();
- nimZeroMem((void*)(&T1_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- nimZeroMem((void*)(&T1_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- T1_.period = 10000ULL;
- nimZeroMem((void*)(&T2_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
- T2_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_2) (blinkLedTask__firmware_48)); T2_.ClE_0 = NIM_NIL;
- T1_.taskproc.ClE_0 = T2_.ClE_0;
- T1_.taskproc.ClP_0 = T2_.ClP_0;
- T1_.elapsed = 0ULL;
- SchedulerTable__firmware_211[0].period = T1_.period;
- SchedulerTable__firmware_211[0].elapsed = T1_.elapsed;
- SchedulerTable__firmware_211[0].taskproc.ClE_0 = T1_.taskproc.ClE_0;
- SchedulerTable__firmware_211[0].taskproc.ClP_0 = T1_.taskproc.ClP_0;
- nimZeroMem((void*)(&T3_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- nimZeroMem((void*)(&T3_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- T3_.period = 10000ULL;
- nimZeroMem((void*)(&T4_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
- T4_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_5) (hidKeysTask__firmware_72)); T4_.ClE_0 = NIM_NIL;
- T3_.taskproc.ClE_0 = T4_.ClE_0;
- T3_.taskproc.ClP_0 = T4_.ClP_0;
- T3_.elapsed = 0ULL;
- SchedulerTable__firmware_211[1].period = T3_.period;
- SchedulerTable__firmware_211[1].elapsed = T3_.elapsed;
- SchedulerTable__firmware_211[1].taskproc.ClE_0 = T3_.taskproc.ClE_0;
- SchedulerTable__firmware_211[1].taskproc.ClP_0 = T3_.taskproc.ClP_0;
- nimZeroMem((void*)(&T5_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- nimZeroMem((void*)(&T5_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- T5_.period = 2500ULL;
- nimZeroMem((void*)(&T6_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
- T6_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_6) (encoderTask__firmware_167)); T6_.ClE_0 = NIM_NIL;
- T5_.taskproc.ClE_0 = T6_.ClE_0;
- T5_.taskproc.ClP_0 = T6_.ClP_0;
- T5_.elapsed = 0ULL;
- SchedulerTable__firmware_211[2].period = T5_.period;
- SchedulerTable__firmware_211[2].elapsed = T5_.elapsed;
- SchedulerTable__firmware_211[2].taskproc.ClE_0 = T5_.taskproc.ClE_0;
- SchedulerTable__firmware_211[2].taskproc.ClP_0 = T5_.taskproc.ClP_0;
- nimZeroMem((void*)(&T7_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- nimZeroMem((void*)(&T7_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- T7_.period = 10000ULL;
- nimZeroMem((void*)(&T8_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
- T8_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_7) (rgbTask__firmware_200)); T8_.ClE_0 = NIM_NIL;
- T7_.taskproc.ClE_0 = T8_.ClE_0;
- T7_.taskproc.ClP_0 = T8_.ClP_0;
- T7_.elapsed = 0ULL;
- SchedulerTable__firmware_211[3].period = T7_.period;
- SchedulerTable__firmware_211[3].elapsed = T7_.elapsed;
- SchedulerTable__firmware_211[3].taskproc.ClE_0 = T7_.taskproc.ClE_0;
- SchedulerTable__firmware_211[3].taskproc.ClP_0 = T7_.taskproc.ClP_0;
- nimZeroMem((void*)(&T9_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- nimZeroMem((void*)(&T9_), sizeof(tyObject_SchedulerEntry__BC50717TVXBU79a79cRoY1IQ));
- T9_.period = 500000ULL;
- nimZeroMem((void*)(&T10_), sizeof(tyProc__LFyyYFNLVDjCVfZTj39cccg));
- T10_.ClP_0 = ((TM__xUHzpMQRd0lsW9aPWw1e03w_14) (vemlTask__firmware_203)); T10_.ClE_0 = NIM_NIL;
- T9_.taskproc.ClE_0 = T10_.ClE_0;
- T9_.taskproc.ClP_0 = T10_.ClP_0;
- T9_.elapsed = 0ULL;
- SchedulerTable__firmware_211[4].period = T9_.period;
- SchedulerTable__firmware_211[4].elapsed = T9_.elapsed;
- SchedulerTable__firmware_211[4].taskproc.ClE_0 = T9_.taskproc.ClE_0;
- SchedulerTable__firmware_211[4].taskproc.ClP_0 = T9_.taskproc.ClP_0;
- setup__firmware_282();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- main__firmware_343();
- if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
- eqdestroy___firmware_247(SchedulerTable__firmware_211);
- BeforeRet_: ;
- nimTestErrorFlag();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment