Beijing/Peking - General I/O Module

General I/O module with six protected inputs.

Back to VSCP Modules

Current Harware Version: 0.0.5
 Current Firmware version:  No firmware release yet.

Download

Got to http://www.grodansparadis.com for up to date info.

Firmware

No firmware release yet.

Schematics

About

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.

Registers

Configuration
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.

Channel input state
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.

Channel output state
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.

Channel Control Registers
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

  • Bit 0 - Direction. 0=input. 1=output.
  • Bit 1 - Reserved.
  • Bit 2 - Reserved.
  • Bit 3 - Send On event when channel goes to active state.
  • Bit 4 - Send Off event when channel goes to inactive state.
  • Bit 5 - Send Started event when channel goes to active state.
  • Bit 6 - Send Stopped event when channel goes to active state.
  • Bit 7 - Activate pulse (only for output).

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.

Channel Pulse time 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.

Time between stream events
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.

Available channels
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.

Main configuration
Register 36(0x24) - Mdoule configuration bits.
  • Bit 0 - Set to 1 to enable stream events.
Registers for Decision Matrix
Register 71(0x47) - 127(0x7f) - Decision Matrix ( eight elements)

Decision Matrix

The module have a decision matrix with seven entries.

Available Actions

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.

Alarm register

No alarm registers

Events

On

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.

Off

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.

Stopped

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.

Started

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.

Alarm

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.

Stream Data with zone

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.

Contact Information

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

modules/beijing.txt · Last modified: 2011/12/01 14:21 by admin
Public Domain www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0