Source: Daniel Schramm (Projects: Schliessanlage, Cable Checker)
VSCP Firmware release 1.6
A new VSCP firmware is released as version 1.6.0.
The main difference in this release is that the segment controller check has been removed. This means that the node control that was present in register 131/0x83 is now replaced by the error counter. Thus read the current error counter value from this register. Reset the error counter by writing anything to the register.
With the same segment check removed a node that is moved from one segment to another now must be manually initialized after it has been started up.
Previously one control byte was used to check for initialized EEPROM. Now this is two bytes. The callbacks for this purpose has therefore been changed.
///////////////////////////////////////////////////////////////////////////////
// setVSCPControlByte
//
void vscp_setControlByte( uint8_t idx, uint8_t ctrl )
{
if ( idx > 1 ) return;
eeprom_write( VSCP_EEPROM_CONTROL1 + idx, ctrl );
}
///////////////////////////////////////////////////////////////////////////////
// getVSCPControlByte
//
uint8_t vscp_getControlByte( uint8_t idx )
{
if ( idx > 1 ) return 0;
return eeprom_read( VSCP_EEPROM_CONTROL1 + idx );
}
Another callback has been added that do the actual initialization of the EEPROM
///////////////////////////////////////////////////////////////////////////////
// vscp_init_pstorage
//
void vscp_init_pstorage( void )
{
init_app_eeprom();
}
An addition is added if you define
VSCP_FIRMWARE_ENABLE_ERROR_REPORTING
which will give access to a method for VSCP standard error reporting
/*!
Send error event (CLASS=508).
http://www.vscp.org/docs/vscpspec/doku.php?id=class1.error
idx can be used to identify the internal part ("submodule") that was the
origin of the error. Both zone and sub zone are always set to zero.
@param type This is the VSCP type
@param idx Index to identify possible sub module. Normally set to zero.
@return True if event was sent.
*/
#ifdef VSCP_FIRMWARE_ENABLE_ERROR_REPORTING
uint8_t vscp_sendErrorEvent( uint8_t type, uint8_t idx );
#endif
Just remember that over CAN it is no use in reporting communication problems as doing so will most likely make them worse.
Another addition is added if you define
VSCP_FIRMWARE_ENABLE_LOGGING
which gives access to a method for standard VSCP logging.
/*!
Send log event (CLASS=509).
http://www.vscp.org/docs/vscpspec/doku.php?id=class1.log
For loging first send Type = 2(0x01) Log Start then logging events and when
log is closed send Type = 3 (0x03) Log Stop. To log several things use a
unique if for each and open/close each.
@param type VSCP logevent type.
@param id Identifier for the logging channel.
@param level Loglevel for this log event.
@param idx index for multiframe log event starting at zero.
@param pData Log data (Allways 5 bytes).
@return TRUE if event was sent.
*/
#ifdef VSCP_FIRMWARE_ENABLE_LOGGING
uint8_t vscp_sendLogEvent( uint8_t type,
uint8_t id,
uint8_t level,
uint8_t idx,
uint8_t data );
#endif
As always the Paris project and the Kelvin NTC10K project can be used as reference code.
The release is available here.
Enjoy!
/Ake
The Maker Movement is inspiring the young and old alike, that anything is possible. You’ve all read the predictions that the next “big thing” hasn’t been invented yet and that it can come from anyone. That’s what the Maker Movement is all about.
Chief executive Anatoly Lebedev to talk about security for the internet of things at international technology conference
Source: Irish start-up Cesanta to deliver keynote at CeBit conference
Hedmans #IoT protocol validator
This is simple. Every protocol that is entering the scene today is dubbed an IoT protocol. Hmmm… are they really… or are they transport mechanisms (which we already have plenty of) or is they just useless vertical solutions (well not useless for the company who made it). And hey… it does not have anything to do with Internet or wireless. It’s about connecting things.
So
1.) Does the protocol connect things together? If so, item under test is a candidate for an IoT protocol.
2.) Ask ten people in ten different areas of the earth without contact with each other to send a measurement of there current temperature over the protocol. If the receiver on the other end know what he/she receives from all ten the protocol is a candidate for an IoT protocol.
3.) Ask the ten people to send an ON command and then an OFF command to turn on/off a lamp at the receiving end. If all actually does this the protocol is a candidate for an IoT protocol.
So 1+2+3 and success on all, yes and hurray, it’s an Iot protocol. If not it may still be a useful protocol for other things.
Åke Hedman
Paradise of the Frog AB
Valid question
European Maker Week is an initiative promoted by European Commission and implemented by Maker Faire Rome in collaboration with Startup Europe
Source: European Maker Week | A celebration of makers and innovators






