void release_spiflash_flag(void) { IOdata.spiflash_flag[0] = 0xFF; IOdata.spiflash_flag[1] = 0xFF; write_IOstorage(&IOdata, sizeof(IOdata)); }
void save_spiflash_flag(void) { IOdata.spiflash_flag[0] = 0xAE; IOdata.spiflash_flag[1] = 0xAE; write_IOstorage(&IOdata, sizeof(IOdata)); }
void save_factory_flag (void) { IOdata.factory_flag[0] = 0xA5; IOdata.factory_flag[1] = 0xA5; write_IOstorage(&IOdata, sizeof(IOdata)); }
void release_factory_flag (void) { #if defined(FACTORY_FW_ONCE) IOdata.factory_flag[0] = 0xFF; IOdata.factory_flag[1] = 0xFF; #endif IOdata.io_statuscode[0] = 0xFF; IOdata.io_statuscode[1] = 0xFF; write_IOstorage(&IOdata, sizeof(IOdata)); //IO_status_init(); }
/** * @brief This function used to read the saved IO status or register default IO settings * @param None * @return None */ void IO_status_init(void) { uint8_t i; read_IOstorage(&IOdata, sizeof(IOdata)); // IO Status & Alias Initialization // Initialize for WIZ550web Baseboard Configuration if(!((IOdata.io_statuscode[0] == 0xAA) && (IOdata.io_statuscode[1] == 0x01))) { #ifdef _WEB_DEBUG_ printf("\r\nIO Status Detection code: [%.02x][%.02x]\r\n", IOdata.io_statuscode[0], IOdata.io_statuscode[1]); #endif // IO Status Detection code Initialize IOdata.io_statuscode[0] = 0xAA; IOdata.io_statuscode[1] = 0x01; // IO Direction Initialize IOdata.io[D0] = Output; IOdata.io[D1] = Output; IOdata.io[D2] = Output; IOdata.io[D3] = Output; IOdata.io[D4] = Output; IOdata.io[D5] = Output; IOdata.io[D6] = Output; IOdata.io[D7] = Output; IOdata.io[D8] = Input; IOdata.io[D9] = Input; IOdata.io[D10] = Input; IOdata.io[D11] = Input; IOdata.io[D12] = Input; IOdata.io[D13] = Input; IOdata.io[D14] = Input; IOdata.io[D15] = Input; // Each IO Status Initialize for(i = 0; i < IOn; i++) { IOdata.ios[i] = Off; } // IO Alias fields Initialize for(i = 0; i < IOn; i++) { memset(IOdata.io_alias[i], 0x00, 25); sprintf((char *)IOdata.io_alias[i], "Digital IO #%d", i); } write_IOstorage(&IOdata, sizeof(IOdata)); #ifdef _WEB_DEBUG_ printf(">> Default IO Status / Alias Initialize Success\r\n\r\n"); #endif } #ifdef _WEB_DEBUG_ else { printf(">> IO Status / Alias Load Success\r\n\r\n"); } #endif GPIO_PinRemapConfig (GPIO_Remap_SWJ_Disable, ENABLE); // IO Direction setting after load or set default for(i = 0; i < IOn; i++) { if((IOdata.io[i] != NotUsed) && (IOdata.io[i] != 0xFF)) { IO_Init(i); } } // Each IO Status Initialize for(i = 0; i < IOn; i++) { if(IOdata.io[i] == Output) { if(IOdata.ios[i] == Off) IO_Off(i); else IO_On(i); } } }