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);
}