simOUT XL – wsady do mikrokontrolerów

Jest to opis wsadów / programów do mikrokontrolerów ATTINY / jaki otrzymałem od Codekinga – lektura dla zainteresowanych

Pliki wsadów do pobrania w dziale pobieranie


WSADY


Nazewnictwo:

NAZWA_WERSJA_ID.hex

NAZWA:

  • LCD – wsad do sterowników wyświetlaczy HD44780
  • LED – wsad do sterowników diod LED i wyświetlaczy 7-LED

WERSJA – numer wersji wsadu w formacie vX np. v1.

ID – numer z zakresu 1-254 w formacie XXX np. 022.

LED, LCD v1:

Ustawienia połączenia: prędkość 57600, 8 bitów danych, 2 bity stopu, brak bitów parzystości, brak uwierzytelnienia

Identyfikatory urządzeń:

  • 0 – nie używany
  • 1-20 – wyświetlacze LCD
  • 21-80 – diody LED i wyświetlacze 7-LED
  • 81-254 – do wykorzystania
  • 255 – wszystkie urządzenia (dla rozkazów globalnych)

PROTOKÓŁ


Poniżej jest opisany protokół komunikacji komputera z płytką simOUT XL. Moduł simOUT w aplikacji Domowy Kokpit obsługuje wszystkie możliwości płytki simOUT XL, aczkolwiek możliwe jest stworzenie własnej aplikacji do obsługi.

Ramka:

ID L D[L]

ID – identyfikator urządzenia do którego wysyłany jest rozkaz

L – ilość bajtów danych

D[L] – dane (L-bajtów)

Rozkazy globalne

Z ustawionym identyfikatorem urządzenia 255, są odbierane przez wszystkie urządzenia. Rozkazy globalne można także wysyłać tylko do wskazanego identyfikatorem urządzenia (zamiast 255).

Rozkazy:

  • Wyświetlenie identyfikatora urządzenia i numerów poszczególnych elementów (np. LCD):
ID L D[L]
255 1 200

Wyświetlacze LCD wyświetlają identyfikator i numer wyświetlacza w formacie „ID/INDEX” (INDEX – numer wyświetlacza 1 – 8).

Diody LED (oraz wyświetlacze 7-LED) zapalają odpowiednie diody w rzędzie (1-8, 9-16, 17-24, 25-32, 33-40) z odpowiednimi wagami: 128, 64, 32, 16, 8, 4, 2, 1. Aby obliczyć identyfikator urządzenia należy dodać wagi dla zapalonych diod. Np. zapalone są diody 3, 4, 7 i 8. Daje to: 1+2+16+32 = 51. W każdym rzędzie zapalane są te same diody. Na wyświetlaczach 7-LED wagi przypisane są do odpowiednich segmentów: 1-d, 2-dp, 4-e, 8-c, 16-g, 32-b, 64-f, 128-a.

  • Ukrycie identyfikatora urządzenia i numerów poszczególnych elementów (np. LCD):
ID L D[L]
255 1 201

Rozkaz powoduje wyłączenie wyświetlania identyfikatora urządzenia i numerów poszczególnych elementów. Wyświetlacze zostają wyczyszczone (rozkaz CLEAR), diody LED (segmenty wyświetlaczy 7-LED) zostają zgaszone.

Rozkazy dla diod LED (wyświetlaczy 7-LED):

  • Zapalenie diody
ID L D[L] (poszczególne bajty danych oddzielone są przecinkiem)
Identyfikator urządzenia 2 1, XXX

XXX to numer diody (1-40).

  • Zgaszenie diody
ID L D[L]
Identyfikator urządzenia 2 2, XXX

XXX to numer diody (1-40).

  • Zapalenie wszystkich diod
ID L D[L]
Identyfikator urządzenia 1 3
  • Zgaszenie wszystkich diod
ID L D[L]
Identyfikator urządzenia 1 4
  • Zapalenie diod w rzędzie
ID L D[L]
Identyfikator urządzenia 3 5, XXX, YYY

XXX to numer rzędu (wyświetlacza 7-LED).

YYY to numery diod zapisane bitowo (bit 0 to dioda 1 w rzędzie, bit 1 to dioda 2 itd.), np. zapalenie diod 1, 3 i 7 w danym rzędzie odpowiada YYY równemu 69 (bitowo: 01000101).

Rozkazy dla wyświetlaczy LCD:

  • Włączenie wyświetlacza
ID L D[L]
Identyfikator urządzenia 2 1, XXX

XXX to numer wyświetlacza (1-8).

  • Wyłączenie wyświetlacza
ID L D[L]
Identyfikator urządzenia 2 2, XXX

XXX to numer wyświetlacza (1-8).

  • Wyczyszczenie wyświetlacza
ID L D[L]
Identyfikator urządzenia 2 3, XXX

XXX to numer wyświetlacza (1-8).

  • Napisanie znaku na wyświetlaczu
ID L D[L]
Identyfikator urządzenia 5 4, XXX, ROW, COLUMN, CHAR

XXX to numer wyświetlacza (1-8).

ROW to numer wiersza (numerowanie od 0).

COLUMN to numer kolumny (numerowanie od 0).

CHAR to znak do wyświetlenia.

  • Inicjalizacja wszystkich wyświetlaczy
ID L D[L]
Identyfikator urządzenia 1 5
  • Ustawienie rozmiarów wyświetlacza
ID L D[L]
Identyfikator urządzenia 5 6, XXX, ROWS, COLUMNS

XXX to numer wyświetlacza.

ROWS to ilość wierszy wyświetlacza.

COLUMNS to ilość kolumn wyświetlacza.