Mespelare VSCP
15 posts in this category
Switching the Hasselt VSCP firmware from its non-standard 250 kbps CAN bus speed back to the 125 kbps everyone else uses. A small register change in vscp18f_init().
Making a Mespelare VSCP node switch its own relays from its own buttons, so the lights keep working when the bus is down. Covers the code hook, a configurable output mapping and output modes.
Fixing a hang in sendCANFrame() when VSCP Works reads many registers at once, with a one-second send timeout.
Changing the Hasselt firmware’s Timer0 tick from 10 ms to 1 ms for the Mespelare node, and updating the code that relied on the old period. Includes a scope capture of the result.
A new Pulse action for the Hasselt firmware, so the decision matrix can drive the pulse relays in my house. Firmware, MDF and decision matrix changes.
How VSCP register addressing works: how registers in the MDF map onto the node’s application space and how the firmware stores them.
A walk through the structure of a VSCP Module Description File, from the XML header and module information to the registers, using the Mespelare module’s own MDF as the example.
A final prototype, Mespelare v9, to make sure the board design is right before ordering production PCBs. The fixes from v6, the tests and the firmware.
Updating the Mespelare node to the latest vscp_firmware from GitHub, and the compile errors and changes that came with it.
A DumpEEPROM() routine that prints the node’s EEPROM over the serial port, to check what VSCP Works actually wrote. Needed because every published Hasselt MDF turned out to be wrong.
Adding a serial debug port to the Hasselt VSCP firmware, so you can watch variables and program flow while the PIC runs. One #define switches all the debug output on or off.
Configuring the Mespelare node’s decision matrix through its registers so it reacts to events on the VSCP bus.
Adapting the Hasselt code to the Mespelare board: pin assignments, the MDF location and setting the registers, then running it on the hardware for the first time.
Compiling kurtsidekick’s Hasselt firmware for the first time in MPLAB X, as the starting point for the Mespelare firmware: target settings, preserving EEPROM and programming the test board.
The Mespelare VSCP node: a CAN bus board that reads a Niko six-button panel, drives its LEDs and six relay outputs, and breaks out the rest of the pins for expansion boards.