int8_t vscp_check_pstorage(void) { // Check if persistent storage is initialised. if ( ( VSCP_INITIALIZED_BYTE0_VALUE == vscp_getControlByte( VSCP_INITIALIZED_BYTE0_INDEX ) ) && ( VSCP_INITIALIZED_BYTE1_VALUE == vscp_getControlByte( VSCP_INITIALIZED_BYTE1_INDEX ) ) ) { return TRUE; } vscp_initledfunc = VSCP_LED_BLINK1; // Initialise persistent storage vscp_init_pstorage(); // No nickname yet. vscp_writeNicknamePermanent( VSCP_ADDRESS_FREE ); // Mark persistent storage as initialised vscp_setControlByte( VSCP_INITIALIZED_BYTE0_INDEX, VSCP_INITIALIZED_BYTE0_VALUE ); vscp_setControlByte( VSCP_INITIALIZED_BYTE1_INDEX, VSCP_INITIALIZED_BYTE1_VALUE ); return FALSE; }
/*! * @brief verify functionality of the custom defined vscp functions * vscp_firmware.h @ line 457 */ void test_vscp_externals(){ uint8_t FlashValue8; /*! gets an 8-bit vscp data field from permanent storage */ uint8_t val; /*! assign a value to write to buffer -> permanent storage */ printf("Testing vscp_functions\r\n"); val = 0x11; vscp_writeNicknamePermanent(val); FlashValue8 = vscp_readNicknamePermanent(); printf("Read %d dec, %x hex\r\n", FlashValue8, FlashValue8); val = 0x22; vscp_setSegmentCRC(val); FlashValue8 = vscp_getSegmentCRC(); printf("Read %d dec, %x hex\r\n", FlashValue8, FlashValue8); val = 0x33; vscp_setControlByte(val); FlashValue8 = vscp_getControlByte(); printf("Read %d dec, %x hex\r\n", FlashValue8, FlashValue8); }