Difference between revisions of "Hw chr display add"
Jump to navigation
Jump to search
(Added TM16xx's.) |
(Added TM16xx's.) |
||
Line 176: | Line 176: | ||
! # !! Argument !! Type !! Description | ! # !! Argument !! Type !! Description | ||
|- | |- | ||
| 1 || '''type''' || ''String'' || Type of characer display. Can be "MAX7219", "8SEGMENT" or " | | 1 || '''type''' || ''String'' || Type of characer display. Can be "MAX7219", "8SEGMENT", "HD44780", "TM1637", or "TM1638". | ||
|- | |- | ||
| ... || '''...''' || ''...'' || Depends on type of character display chosen. See below for possible modes. | | ... || '''...''' || ''...'' || Depends on type of character display chosen. See below for possible modes. |
Revision as of 13:24, 6 January 2022
Description
hw_chr_display_id = hw_chr_display_add(name, type, ...) (from AM/AP 3.5) hw_chr_display_id = hw_chr_display_add(type, ...)
hw_chr_display_add is used to add a Hardware character display. Right now the MAX7219 and HD44780 based character boards are supported, and the control of 8-segment modules.
Named
Give your hardware objects a name (.e.g. 'Power button' or 'Strobe LED').
Air Manager will present the user with a view where the assignment of pins can be done.
Arguments
hw_chr_display_id = hw_chr_display_add(name, type, ...)
# | Argument | Type | Description |
---|---|---|---|
1 | name | String | A functional name to define the character display. |
2 | type | String | Type of characer display. Can be "MAX7219", "8SEGMENT", "HD44780", "TM1637", "TM1638". |
... | ... | ... | Depends on type of character display chosen. See below for possible modes. |
Return value
Argument | Type | Description |
---|---|---|
hw_chr_display_id | ID | This value can be used for further reference. Functions such as hw_chr_display_set_text can use this hw_chr_display_id. Its good practice to store this hw_chr_display_id in your logic code. |
MAX7219
Arguments
hw_chr_display_id = hw_chr_display_add(name, "MAX7219", nr_displays)
# | Argument | Type | Description |
---|---|---|---|
3 | nr_displays | Number | Number of chained displays. You can have up to 4 MAX7219 devices in one daisy chain. |
Example
-- Create a new Max7219 based character display
display_chr_id = hw_chr_display_add("NAV1 frequency", "MAX7219", 1)
-- Set text "12345" on display 0 (first), line 0
hw_chr_display_set_text(display_chr_id, 0, 0, "12345")
8 Segment
Arguments
hw_chr_display_id = hw_chr_display_add(name, "8SEGMENT", nr_characters, mode)
# | Argument | Type | Description |
---|---|---|---|
3 | nr_characters | Number | Number of lines. |
4 | mode | String | Can be "DIRECT_COMMON_ANODE" for common anode segment displays, or "DIRECT_COMMON_CATHODE" when cathode is shared. When using a transistor, use "TRANSISTOR_COMMON_ANODE" when anode is shared (with PNP transistor), or "TRANSISTOR_COMMON_CATHODE" when cathode is shared (with NPN transistor). |
Example
-- Create a new 8 segment based character display with 4 characters
display_chr_id = hw_chr_display_add("NAV1 frequency", "8SEGMENT", 4, "TRANSISTOR_COMMON_ANODE")
-- Set text "1234"
hw_chr_display_set_text(display_chr_id, "1234")
HD44780
Arguments
hw_chr_display_id = hw_chr_display_add(name, "HD44780", nr_lines, nr_columns)
# | Argument | Type | Description |
---|---|---|---|
3 | nr_lines | Number | Number of lines. |
4 | nr_columns | Number | Number of columns (characters). |
Example
-- Create a new HD44780 based character display
display_chr_id = hw_chr_display_add("NAV1 frequency", "HD44780", 2, 16)
-- Set text "12345" on line 0
hw_chr_display_set_text(display_chr_id, 0, "12345")
TM1637
Arguments
hw_chr_display_id = hw_chr_display_add(name, "TM1637", nr_characters)
# | Argument | Type | Description |
---|---|---|---|
3 | nr_characters | Number | Number of characters. You can have up to 4 characters. |
Example
-- Create a new Max7219 based character display
display_chr_id = hw_chr_display_add("NAV1 frequency", "TM1637", 4)
-- Set text "1234"
hw_chr_display_set_text(display_chr_id,"1234")
TM1638
Arguments
hw_chr_display_id = hw_chr_display_add(name, "TM1638", nr_characters)
# | Argument | Type | Description |
---|---|---|---|
3 | nr_characters | Number | Number of characters. You can have up to 8 characters. |
Example
-- Create a new TM1638 based character display
display_chr_id = hw_chr_display_add("NAV1 frequency", "TM1638", 8)
-- Set text "12345678"
hw_chr_display_set_text(display_chr_id,"12345678")
Hardware Id's
Define the used pin(s) right away. This is not preferred, since changing of pin assignment can only be done by changing the instrument/panel lua script.
Arguments
hw_chr_display_id = hw_chr_display_add(type, ...)
# | Argument | Type | Description |
---|---|---|---|
1 | type | String | Type of characer display. Can be "MAX7219", "8SEGMENT", "HD44780", "TM1637", or "TM1638". |
... | ... | ... | Depends on type of character display chosen. See below for possible modes. |
Return value
Argument | Type | Description |
---|---|---|
hw_chr_display_id | ID | This value can be used for further reference. Functions such as hw_chr_display_set_text can use this hw_chr_display_id. Its good practice to store this hw_chr_display_id in your logic code. |
MAX7219
Arguments
hw_chr_display_id = hw_chr_display_add("MAX7219", nr_displays, data_pin, clk_pin, load_pin)
# | Argument | Type | Description |
---|---|---|---|
2 | nr_displays | Number | Number of chained displays. You can have up to 8 MAX7219 devices in one daisy chain. |
3 | data_pin | String | Data pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
4 | clk_pin | String | Clock pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
5 | load_pin | String | Load pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
Example
-- Bind to the Arduino MEGA 2560 on channel A.
-- hw_id 1 = MAX7219 DIN (ARDUINO_MEGA2560_A_D4 in this example)
-- hw_id 2 = MAX7219 CLK (ARDUINO_MEGA2560_A_D5 in this example)
-- hw_id 3 = MAX7219 LOAD (ARDUINO_MEGA2560_A_D6 in this example)
display_chr_id = hw_chr_display_add("MAX7219", 1, "ARDUINO_MEGA2560_A_D4", "ARDUINO_MEGA2560_A_D5", "ARDUINO_MEGA2560_A_D6")
-- Set text "12345" on display 0 (first), line 0
hw_chr_display_set_text(display_chr_id, 0, 0, "12345")
8 Segment
Arguments
hw_chr_display_id = hw_chr_display_add("8SEGMENT", nr_characters, mode, chr_pin_1, chr_pin_2, ..., chr_pin_n, seg_a_pin, seg_b_pin, seg_c_pin, seg_d_pin, seg_e_pin, seg_f_pin, seg_g_pin, seg_dp_pin)
# | Argument | Type | Description |
---|---|---|---|
2 | nr_characters | Number | Number of lines. |
3 | mode | String | Can be "DIRECT_COMMON_ANODE" for common anode segment displays, or "DIRECT_COMMON_ANODE" when cathode is shared. When using a transistor, use "TRANSISTOR_COMMON_ANODE" when anode is shared (with PNP transistor), or "TRANSISTOR_COMMON_CATHODE" when cathode is shared (with NPN transistor). |
4 .. n | character_pins | String | Character pins. You should supply 'nr_characters' (arg. 2) number of Hardware ID's (Hardware_id_list). |
n + 1 | seg_a_pin | String | Register segment a. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 2 | seg_b_pin | String | Register segment b. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 3 | seg_c_pin | String | Register segment c. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 4 | seg_d_pin | String | Register segment d. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 5 | seg_e_pin | String | Register segment e. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 6 | seg_f_pin | String | Register segment f. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 7 | seg_g_pin | String | Register segment g. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
n + 8 | seg_dp_pin | String | Register segment dp. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
Example
-- Bind to the Arduino MEGA 2560 on channel A.
-- hw_id 1 = Character 1 (ARDUINO_MEGA2560_A_D4 in this example)
-- hw_id 2 = Character 2 (ARDUINO_MEGA2560_A_D5 in this example)
-- hw_id 3 = Character 3 (ARDUINO_MEGA2560_A_D6 in this example)
-- hw_id 4 = Character 4 (ARDUINO_MEGA2560_A_D7 in this example)
-- hw_id 5 = Segment a (ARDUINO_MEGA2560_A_D8 in this example)
-- hw_id 6 = Segment b (ARDUINO_MEGA2560_A_D9 in this example)
-- hw_id 7 = Segment c (ARDUINO_MEGA2560_A_D10 in this example)
-- hw_id 8 = Segment d (ARDUINO_MEGA2560_A_D11 in this example)
-- hw_id 9 = Segment e (ARDUINO_MEGA2560_A_D12 in this example)
-- hw_id 10 = Segment f (ARDUINO_MEGA2560_A_D13 in this example)
-- hw_id 11 = Segment g (ARDUINO_MEGA2560_A_D14 in this example)
-- hw_id 12 = Segment dp (ARDUINO_MEGA2560_A_D15 in this example)
display_chr_id = hw_chr_display_add("8SEGMENT", 4, "TRANSISTOR_COMMON_CATHODE", "ARDUINO_MEGA2560_A_D4", "ARDUINO_MEGA2560_A_D5", "ARDUINO_MEGA2560_A_D6", "ARDUINO_MEGA2560_A_D7",
"ARDUINO_MEGA2560_A_D8", "ARDUINO_MEGA2560_A_D9", "ARDUINO_MEGA2560_A_D10", "ARDUINO_MEGA2560_A_D11", "ARDUINO_MEGA2560_A_D12", "ARDUINO_MEGA2560_A_D13", "ARDUINO_MEGA2560_A_D14", "ARDUINO_MEGA2560_A_D15")
-- Set text "1234"
hw_chr_display_set_text(display_chr_id, "1234")
HD44780
Arguments
hw_chr_display_id = hw_chr_display_add("HD44780", nr_lines, nr_columns, enable_pin, rs_pin, d4_pin, d5_pin, d6_pin, d7_pin)
# | Argument | Type | Description |
---|---|---|---|
2 | nr_lines | Number | Number of lines. |
3 | nr_columns | Number | Number of columns (characters). |
4 | enable_pin | String | Enable pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
5 | rs_pin | String | Register select pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
6 | d4_pin | String | Data bit 4 pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
7 | d5_pin | String | Data bit 5 pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
8 | d6_pin | String | Data bit 6 pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
9 | d7_pin | String | Data bit 7 pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
Example
-- Bind to the Arduino MEGA 2560 on channel A.
-- hw_id 1 = HD44780 ENABLE (ARDUINO_MEGA2560_A_D4 in this example)
-- hw_id 2 = HD44780 RS (ARDUINO_MEGA2560_A_D5 in this example)
-- hw_id 3 = HD44780 D4 (ARDUINO_MEGA2560_A_D6 in this example)
-- hw_id 4 = HD44780 D5 (ARDUINO_MEGA2560_A_D7 in this example)
-- hw_id 5 = HD44780 D6 (ARDUINO_MEGA2560_A_D8 in this example)
-- hw_id 6 = HD44780 D7 (ARDUINO_MEGA2560_A_D9 in this example)
display_chr_id = hw_chr_display_add("HD44780", 2, 16, "ARDUINO_MEGA2560_A_D4", "ARDUINO_MEGA2560_A_D5", "ARDUINO_MEGA2560_A_D6", "ARDUINO_MEGA2560_A_D7", "ARDUINO_MEGA2560_A_D8", "ARDUINO_MEGA2560_A_D9")
-- Set text "12345" on line 0
hw_chr_display_set_text(display_chr_id, 0, "12345")
TM1637
Arguments
hw_chr_display_id = hw_chr_display_add("TM1637", nr_characters, data_pin, clk_pin)
# | Argument | Type | Description |
---|---|---|---|
2 | nr_characters | Number | Number of characters. You can have up to 4 characters. |
3 | data_pin | String | Data pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
4 | clk_pin | String | Clock pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
Example
-- Bind to the Arduino MEGA 2560 on channel A.
-- hw_id 1 = TM1637 data pin (ARDUINO_MEGA2560_A_D4 in this example)
-- hw_id 2 = TM1637 clock pin (ARDUINO_MEGA2560_A_D5 in this example)
display_chr_id = hw_chr_display_add("TM1637", 4, "ARDUINO_MEGA2560_A_D4", "ARDUINO_MEGA2560_A_D5")
-- Set text "1234"
hw_chr_display_set_text(display_chr_id, "1234")
TM1638
Arguments
hw_chr_display_id = hw_chr_display_add("TM1638", nr_characters, data_pin, clk_pin, strobe_pin)
# | Argument | Type | Description |
---|---|---|---|
2 | nr_characters | Number | Number of characters. You can have up to 8 characters. |
3 | data_pin | String | Data pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
4 | clk_pin | String | Clock pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
5 | strobe_pin | String | Strobe pin. You can choose to bind to an existing Hardware ID (Hardware_id_list). |
Example
-- Bind to the Arduino MEGA 2560 on channel A.
-- hw_id 1 = TM1638 data pin (ARDUINO_MEGA2560_A_D4 in this example)
-- hw_id 2 = TM1638 clock pin (ARDUINO_MEGA2560_A_D5 in this example)
-- hw_id 3 = TM1638 strobe pin (ARDUINO_MEGA2560_A_D6 in this example)
display_chr_id = hw_chr_display_add("TM1638", 4, "ARDUINO_MEGA2560_A_D4", "ARDUINO_MEGA2560_A_D5", "ARDUINO_MEGA2560_A_D6")
-- Set text "12345678"
hw_chr_display_set_text(display_chr_id, "12345678")