New York - LCD Display Node

Back to VSCP Modules

Current Hardware Version: 0.0.1
Current Firmware version:  

Download

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

Firmware

No firmware release yet.

Schematics

About

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 (0x06) - Set Display Buffer Parameter to set the data.

Registers

Configuration
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.
Buttons
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
  • Bit 0 - Send ON event when button 0 is going form inactive to active.
  • Bit 1 - Send OFF event when button 0 is going from active to inactive.
  • Bit 2 - Send ON event when button 1 is going form inactive to active.
  • Bit 3 - Send OFF event when button 1 is going from active to inactive.
  • Bit 4 - Send ON event when button 2 is going form inactive to active.
  • Bit 5 - Send OFF event when button 2 is going from active to inactive.
  • Bit 6 - Send ON event when button 3 is going from inactive to active.
  • Bit 7 - Send OFF event when button 3 is going from active to inactive.
LED's
Register 16(0x10) - LED state. Read/Write
  • Bit 0,1 - LED0 - b00 is OFF, b01 is ON, b10 is blink.
  • Bit 2,3 - LED1 - b00 is OFF, b01 is ON, b10 is blink.
Lock
Register 17(0x11) - Write Lock. Read/Write

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

Display behaviour
Register 18(0x12) - Mode. Read/Write
  • Static display - data is displayed statically
  • Round robin - data is displayed in a round robin fashion.
Register 19(0x13) - Round robin duration. Read/Write

Set the number of seconds text in each state should be displayed.

Display line data
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.

Display registers
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.

Parameter registers
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.

Registers for Decision Matrix
Register 71(0x47) - 127(0x7f) - Decision Matrix ( eight elements)

Decision Matrix

The module has a decision matrix with seven entries.

Available Actions

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.

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 button 0, 1 for button 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 button 0, 1 for button 1 and so on.

Contact Information

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

 
modules/new_york.txt · Last modified: 2018/02/08 17:47 (external edit)
[unknown button type]
 
Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki