void main(void) { PHY_init_t phy_params; LINK_init_t link_params; WDTCONbits.SWDTEN = 0; LOG_init(); D_G printf("Main started\n"); phy_params.bitrate = DATA_RATE_66; phy_params.band = BAND_863; phy_params.channel = 28; phy_params.power = TX_POWER_13_DB; phy_params.cca_noise_treshold = 30; PHY_init(phy_params); D_G printf("PHY inicialized\n"); link_params.tx_max_retries = 0; link_params.rx_data_commit_timeout = 64; LINK_init(link_params); ds_prepare(); for (uint8_t i = 0; i < 12; i++) { LED0 = ~LED0; delay_ms(50); } fitp_init(); /* GLOBAL_STORAGE.edid[0] = 0xED; //E GLOBAL_STORAGE.edid[1] = 0x00; //d GLOBAL_STORAGE.edid[2] = 0x00; //i GLOBAL_STORAGE.edid[3] = 0x01; //d GLOBAL_STORAGE.nid[0]=0x4e; //N GLOBAL_STORAGE.nid[1]=0x69; //i GLOBAL_STORAGE.nid[2]=0x64; //d GLOBAL_STORAGE.nid[3]=0x3c; //: */ GLOBAL_STORAGE.sleepy_device = true; euid_load(); // load euid from eeprom refresh_load_eeprom(); accel_int = false; while (1) { if (accel_int) { HW_ReInit(); if (sendValues()) { D_G printf("Send values success\n"); LED1 = 1; delay_ms(1000); LED1 = 0; } else if (fitp_join()){ D_G printf("Join success\n"); LED1 = 1; delay_ms(1000); LED1 = 0; } else { // cannot send data and even join fails D_G printf("Send value and join failed\n"); LED0 = 1; delay_ms(1000); LED0 = 0; } accel_int = false; } if (fitp_joined()){ ds_prepare(); HW_DeInit(); StartTimer(2); goSleep(); if (accel_int) { continue; } //LED1 = 1; HW_ReInit(); sendValues(); } HW_DeInit(); if(GLOBAL_STORAGE.refresh_time < 3) { GLOBAL_STORAGE.refresh_time = 3; // if too short time save_refresh_eeprom(GLOBAL_STORAGE.refresh_time); //save refresh time on eeprom } StartTimer(GLOBAL_STORAGE.refresh_time - 2); // -2 because ds_prepare takes up to 2seconds //LED1 = 0; goSleep(); } }
int main(void) { while(1) { return_to_tios = 0; SysClkSetHSI_4xPLLMul(RCC_PLLMul_16); // Set_System(); // Set_USBClock(); // USB_Interrupts_Config(); // USB_Init(); LINK_init(); HW_CONTROL_init(); HW_CONTROL_ENABLE_CALC(); HW_CONTROL_CLICK_ON_KEY(); //boot(); //while(!LINK_check_password()); LINK_send_os(); // uint64_t bin = 0; // for(int i = 512; i < 768; i++) // { // framebuffer[i] = 0xff; // // } // // for(int i = 2048; i < 4096; i++) // { // framebuffer[i % 96][i / 96] = 150; // } // for(int i = 4096; i < 6144; i++) // { // framebuffer[i % 96][i / 96] = 190; // } // // for(int x = 0; x < 96; x++) // { // for(int y = 0; y < 64; y++) // { // framebuffer[x][y]=img1 // [y*96+x]; // } // } int framecount = 0; const char str1[] = "Welcome to"; gfx_2d_string(str1,sizeof(str1),1,5,-2,-1); const char str2[] = "CalcHack"; gfx_2d_string(str2,sizeof(str2),1,13,-2,-1); for(int i = 0; i < 30; i++) LINK_transfer_framedata(); const char str3[] = "Here are some"; gfx_2d_string(str3,sizeof(str3),1,25,-2,-1); const char str4[] = "of its features!"; gfx_2d_string(str4,sizeof(str4),1,33,-2,-1); for(int i = 0; i < 50; i++) LINK_transfer_framedata(); gfx_2d_clear(); const char str5[] = "Greyscale Pics"; gfx_2d_string(str5,sizeof(str5),1,5,-2,-1); for(int i = 0; i < 30; i++) LINK_transfer_framedata(); for(int x = 0; x < 96; x++) { for(int y = 0; y < 64; y++) { framebuffer[x][y]=img1[y*96+x]; } } for(int i = 0; i < 40; i++) LINK_transfer_framedata(); gfx_2d_clear(); gfx3dsetup(); while(1) { framecount ++; LINK_transfer_framedata(); if(framecount % 2 == 0) { framecount = 0; gfx3dperiodic(); char c[] = "3D-Engine Test"; gfx_2d_string(c,sizeof(c),10,5,-2,-1); } if(return_to_tios == 1) { // break; } } // for(int x = 0; x < 96; x++) // { // LINK_transfer_framedata(); // for(int y = 0; y < 64; y++) // { // framebuffer[x][y]=img1[y*96+x]; // } // } // gfx_2d_fill_rectangle(0,0,95,63,-1); // // for(int i = 0; i < 60; i++) // LINK_transfer_framedata(); // // for(int x = 0; x < 96; x++) // { // LINK_transfer_framedata(); // for(int y = 0; y < 64; y++) // { // framebuffer[x][y]=img2[y*96+x]; // } // } // // for(int i = 0; i < 380; i++) // LINK_transfer_framedata(); // // gfx_2d_fill_rectangle(0,0,95,63,-1); // // for(int i = 0; i < 60; i++) // LINK_transfer_framedata(); // // for(int x = 0; x < 96; x++) // { // LINK_transfer_framedata(); // for(int y = 0; y < 64; y++) // { // framebuffer[x][y]=img3[y*96+x]; // } // } // // gfx_2d_fill_rectangle(0,0,95,63,-1); // // for(int i = 0; i < 60; i++) // LINK_transfer_framedata(); } }