int check_spiflash_flag(void)
{
	int ret = 0;

	read_IOstorage(&IOdata, sizeof(IOdata));

	if(IOdata.spiflash_flag[0] == 0xAE && IOdata.spiflash_flag[1] == 0xAE)
	{
		ret = 0;
	}
	else
	{
		ret = 1;
	}

	return ret;
}
Ejemplo n.º 2
0
/**
 * @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);
		}
	}
}