Current Hardware Version: 0.0.1 Current Firmware version:
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/newyork
New york is built as general LCD controller. It can display text information on all one to multi line LCD displays that follow the Hitachi HD44780 control protocol.
Four buttons and two LED's can also be handled by the firmware.
The module support all ESC sequences defined by the DISPLAY class http://www.vscp.org/wiki/doku.php?id=vscp_specification_class_102 and can therefore be used to display all types of VSCP information.
A typical example is a one line display with the following display text stored.
“Current temperature is %rn23 C”
An action can then be used to store temperature measurements to register 23 of the node and the last received temperature information will then be automatically displayed.
If one rather would like to let a server update the parameter one could use
“Current temperature is %pn1 C”
and then use CLASS1_DISPLAY, Type = 6 (0×06) - Set Display Buffer Parameter to set the data.
Register 0(0x00) - Zone. Read/write.
Register 1(0x01) - Subzone line 0. Read/write. Register 2(0x02) - Subzone line 1. Read/write. Register 3(0x03) - Subzone line 2. Read/write. Register 4(0x04) - Subzone line 3. Read/write.
The firmware can handle up to four line displays. Each channel can have its own subzone.
Register 9(0x09) - Subzone character matrix. Read/write.
Register 10(0x0A) - Line width(# characters). Read Only. Register 11(0x0B) - Number of lines. Read Only. Register 12(0x0C) - Character matrix width. Read Only.
Register 13(0x0D) - Button States. Read Only
Four buttons can be handled. There states can be read in bit 0-3.
Register 14(0x0E) - Button active states. Read/Write
Set the state of the button that should be treated as active. 0 means that a low on the pin will be treaded as active a 1 means a high on the pin will be treated as active. Buttons are in bit 0 - bit 4.
Register 15(0x0F) - Buttons Enable. Read/Write
Register 16(0x10) - LED state. Read/Write
Register 17(0x11) - Write Lock. Read/WriteIf several modules should have access to a modules register use this position as a write lock. If the position is not zero no other node should try to write the registers of the module until it becomes zero.
Register 18(0x12) - Mode. Read/Write
Register 19(0x13) - Round robin duration. Read/Write
Set the number of seconds text in each state should be displayed.
Register 32(0x20) - Buffer Index.
Buffer index is used as and index to the first buffer line that is visible on the display. This can thus be used to display different content with a simple register write. Not used when round robin mode is active. If set higher then there is buffer available lines where there is no corresponding buffer for will be blank.
Register 33(0x21) - Number of buffer lines. Read Only. Register 34(0x22) - Active buffer line 0-max active lines. Read/Write Register 35(0x23) - Active buffer pos 0-line width. Read/Write Register 36(0x24) - Data at pos. Read/Write
To read/write data at a pos set line, pos and write data to the position. There can be more buffer lines than physical lines on the display. The extra lines are used for the round robin mode or index. In round robin are used in order. That is for a 2 line display buffer line 0,1 are the first state, 2,3 the next etc.
Register 37(0x25) - Number of display registers. Read Only. Register 38(0x26) - Active display register (0-max). Read/Write Register 39(0x27) - Index into active display register- (0-7). Read/Write
To write data to a display register set the active display register and write data to the appropriate indexes at that position. Data should be stored according to the VSCP data-coding http://www.vscp.org/wiki/doku.php?id=vscp_specification_data_coding.
Register 40(0x28) - Number of parameter registers. Read Only. Register 41(0x29) - Active parameter register (0-max). Read/Write Register 42(0x2A) - Index into active parameter register (0-7). Read/Write
To write data to a parameter register set the active display register and write data to the appropriate indexes at that position. Data should be stored according to the VSCP data-coding http://www.vscp.org/wiki/doku.php?id=vscp_specification_data_coding.
Register 71(0x47) - 127(0x7f) - Decision Matrix ( eight elements)
The module has a decision matrix with seven entries.
0(0x00) - NOOP, No action. 1(0x01) - Store data (only CLASS1_MEASUREMENT) into register. Argument is register. 2(0x02) - Store data (only CLASS1_MEASUREMENT) into parameter. Argument is parameter. 3(0x03) - Set display base index. Argument is display argument index.
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 button 0, 1 for button 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 button 0, 1 for button 1 and so on.
This is open hardware / software that is made by Ake Hedman, eurosource, Sweden. It is free to use for commercial 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