Пример #1
0
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();
    }
}
Пример #2
0
    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();


  }
  
}