General I/O module with six protected inputs.
Current Harware Version: 0.0.5 Current Firmware version: No firmware release yet.
Got to http://www.grodansparadis.com for up to date info.
No firmware release yet.
Old file are available here http://www.dosilos.se/download/hardware/beijing
The Bejing I/O module can be used as a low cost general 5V I/O module to set and/or monitor six channels. Automatic pulse output and event on change and a built in decision matrix that can be programmed to control an input from any VSCP event makes this module useful in many control situations.
The firmware is built to handle 16 channels.
Register 0(0x00) - Zone. Read/write.
Register 1(0x01) - Subzone 0. Read/write. Register 2(0x02) - Subzone 1. Read/write. Register 3(0x03) - Subzone 2. Read/write. Register 4(0x04) - Subzone 3. Read/write. Register 5(0x05) - Subzone 4. Read/write. Register 6(0x06) - Subzone 5. Read/write. Register 7(0x07) - Subzone 6. Read/write. Register 8(0x08) - Subzone 7. Read/write. Register 9(0x09) - Subzone 8. Read/write. Register 10(0x0A) - Subzone 9. Read/write. Register 11(0x0B) - Subzone 10. Read/write. Register 12(0x0C) - Subzone 11. Read/write. Register 13(0x0D) - Subzone 12. Read/write. Register 14(0x0E) - Subzone 13. Read/write. Register 15(0x0F) - Subzone 14. Read/write. Register 16(0x10) - Subzone 15. Read/write.
The firmware can handle up to sixteen channels. Each channel can have its own subzone.
Register 17(0x11) - Status register (channel 0-7). Read Only. Register 18(0x12) - Status register (channel 8-15). Read Only.
For channels that are set as inputs the state can be read here.
Register 19(0x13) - Status register (channel 0-7). Read/Write. Register 20(0x14) - Status register (channel 8-15). Read/Write.
For channels set as outputs the state can be set here.
Register 21(0x15) - Channel 0 Control Register. Read/Write Register 22(0x16) - Channel 1 Control Register. Read/Write Register 23(0x17) - Channel 2 Control Register. Read/Write Register 24(0x18) - Channel 3 Control Register. Read/Write Register 25(0x19) - Channel 4 Control Register. Read/Write Register 26(0x1A) - Channel 5 Control Register. Read/Write Register 27(0x1B) - Channel 6 Control Register. Read/Write Register 28(0x1C) - Channel 7 Control Register. Read/Write Register 29(0x1D) - Channel 8 Control Register. Read/Write Register 30(0x1E) - Channel 9 Control Register. Read/Write Register 31(0x1F) - Channel 10 Control Register. Read/Write Register 32(0x20) - Channel 11 Control Register. Read/Write Register 33(0x21) - Channel 12 Control Register. Read/Write Register 34(0x22) - Channel 13 Control Register. Read/Write Register 35(0x23) - Channel 14 Control Register. Read/Write Register 36(0x24) - Channel 15 Control Register. Read/Write
The channel control bits enable disable intelligent channel functionality
Stream events report the state of all channels as strem event(s) for all channels with a frequency set in the time between stream events registers.
Register 37(0x25) - On/off pulse time Channel 0 (seconds) MSB. Read/Write Register 38(0x26) - On/off pulse time Channel 0 (seconds) LSB. Read/Write Register 39(0x27) - On/off pulse time Channel 1 (seconds) MSB. Read/Write Register 40(0x28) - On/off pulse time Channel 1 (seconds) LSB. Read/Write Register 41(0x29) - On/off pulse time Channel 2 (seconds) MSB. Read/Write Register 42(0x2A) - On/off pulse time Channel 2 (seconds) LSB. Read/Write Register 43(0x2B) - On/off pulse time Channel 3 (seconds) MSB. Read/Write Register 44(x02C) - On/off pulse time Channel 3 (seconds) LSB. Read/Write Register 45(0x2D) - On/off pulse time Channel 4 (seconds) MSB. Read/Write Register 46(0x2E) - On/off pulse time Channel 4 (seconds) LSB. Read/Write Register 47(0x2F) - On/off pulse time Channel 5 (seconds) MSB. Read/Write Register 48(0x30) - On/off pulse time Channel 5 (seconds) LSB. Read/Write Register 49(0x31) - On/off pulse time Channel 6 (seconds) MSB. Read/Write Register 50(0x32) - On/off pulse time Channel 6 (seconds) LSB. Read/Write Register 51(0x33) – On/off pulse time Channel 7 (seconds) MSB. Read/Write Register 52(0x34) – On/off pulse time Channel 7 (seconds) LSB. Read/Write Register 18(0x12) - On/off pulse time Channel 8 (seconds) MSB. Read/Write Register 19(0x13) - On/off pulse time Channel 8 (seconds) LSB. Read/Write Register 20(0x14) - On/off pulse time Channel 9 (seconds) MSB. Read/Write Register 21(0x15) - On/off pulse time Channel 9 (seconds) LSB. Read/Write Register 22(0x16) - On/off pulse time Channel 10 (seconds) MSB. Read/Write Register 23(0x17) - On/off pulse time Channel 10 (seconds) LSB. Read/Write Register 24(0x18) - On/off pulse time Channel 11 (seconds) MSB. Read/Write Register 25(x019) - On/off pulse time Channel 11 (seconds) LSB. Read/Write Register 26(0x1A) - On/off pulse time Channel 12 (seconds) MSB. Read/Write Register 27(0x1B) - On/off pulse time Channel 12 (seconds) LSB. Read/Write Register 28(0x1C) - On/off pulse time Channel 13 (seconds) MSB. Read/Write Register 29(0x1D) - On/off pulse time Channel 13 (seconds) LSB. Read/Write Register 30(0x1E) - On/off pulse time Channel 14 (seconds) MSB. Read/Write Register 31(0x1F) - On/off pulse time Channel 14 (seconds) LSB. Read/Write Register 32(0x20) – On/off pulse time Channel 15 (seconds) MSB. Read/Write Register 33(0x21) – On/off pulse time Channel 15 (seconds) LSB. Read/Write
This is the pulse time for the each channel expressed in seconds. This can be used to have a channel turn on and off with a certain preset interval. The min pulse time is 1 second and the max time is 65535 seconds which is about 18 hours. Set to zero (default) for no pulse time i.e. the channel will be steady on/off.
Register 34(0x22) - Time between stream events (seconds), all channels. Read/Write
The stream events control bit and this value must be set to a value that is not zero to get stream events. The stream events holds all bits as described below.
Register 35(0x23) - # available channels. Read only.
Different hardware modules can have different number channels. The available number of channels can be read in this register.
Register 36(0x24) - Mdoule configuration bits.
Register 71(0x47) - 127(0x7f) - Decision Matrix ( eight elements)
The module have a decision matrix with seven entries.
0(0x00) - NOOP, No action.
1(0x01) - Send state. Can be used for sync requests.
2(0x02) - Inactivate channel report for channel given by argument 0-15.
3(0x03) - Activate channel report for channel given by argument 0-15.
No alarm registers
Can be sent on configurable intervals or on state transitions.
Class: 0x014 Type: 0x03
Package:
Byte 0: Index. Byte 1: Zone Byte 2: Subzone
Index is 0 for channel 0, 1 for channel 1 and so on.
Can be sent on configurable intervals or on state transitions.
Class: 0x014 Type: 0x04
Package:
Byte 0: index. Byte 1: Zone Byte 2: Subzone
Index is 0 for channel 0, 1 for channel 1 and so on.
Can be sent on configurable intervals or on state transitions.
Class: 0x014 Type: 0x18
Package:
Byte 0: index. Byte 1: Zone Byte 2: Subzone
Index is 0 for channel 0, 1 for channel 1 and so on.
Can be sent on configurable intervals or on state transitions.
Class: 0x014 Type: 0x19
Package:
Byte 0: index. Byte 1: Zone Byte 2: Subzone
Index is 0 for channel 0, 1 for channel 1 and so on.
If enabled the event is sent when a channel goes from active to inactive.
Class: 0x001 Type: 0x02
Package:
Byte 0: index. Byte 1: Zone Byte 2: Subzone
Index is 0 for channel 0, 1 for channel 1 and so on.
A stream event is sent on intervals to report I/O channel state.
Class: 0x014 Type: 0x26
Package:
Byte 0: Zone Byte 1: Subzone Byte 2: Index Byte 3: Channel 0-7 I/O Byte 4: Channel 8-15 I/O
Index is increased for every event that is sent out.
This is open hardware / software that is made by Ake Hedman, eurosource, Sweden. It is free to use for commecial or non commercial use.
Email: vscp@eurosource.se
Company:
eurosource Brattbergavagen 17 820 50 LOS SWEDEN info@eurosource.se http://www.eurosource.se Phone: +46 657 413430 Fax: +46 657 413503
Modules and components are sold at http://www.eurosource.se/catalog
More info about the VSCP and CANAL protocol can be found at http://www.vscp.org
Discussion