LWPM Comfort Module/Tworzenie akcji: Różnice pomiędzy wersjami

Z LWPM
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 58: Linia 58:
  
 
<code>01</code> - w przypadku jakiegokolwiek błędu odczytu któregokolwiek parametru pracy modułu, obliczenia zostaną uznane za poprawne - wynik obliczeń będzie prawidłowo, a wiec może dojść do uruchomienia akcji. Domyślnie jakikolwiek błąd w obliczeniach powoduje, że akcja zostanie przerwana lub się nie uruchomi.
 
<code>01</code> - w przypadku jakiegokolwiek błędu odczytu któregokolwiek parametru pracy modułu, obliczenia zostaną uznane za poprawne - wynik obliczeń będzie prawidłowo, a wiec może dojść do uruchomienia akcji. Domyślnie jakikolwiek błąd w obliczeniach powoduje, że akcja zostanie przerwana lub się nie uruchomi.
 +
 +
<code><start></code> - określa ilość prawidłowych obliczeń jaka jest wymagana by akcja się uruchomiła. W przypadku gdy wartość jest równa <code>00</code> - akcja wykona się zawsze (wartość ta w zasadzie nie ma większego sensu)
 +
 +
<code><stop></code> - określa ilość prawidłowych obliczeń jaka jest wymagana by akcja się zakończyła. W przypadku gdy wartość jest równa <code>00</code> - akcja zakończy się zawsze (wartość ta w zasadzie nie ma większego sensu)
 +
 +
<code><instrukcja>*</code> - ciąg instrukcji dla kalkulatora
  
 
=== Ilość powtórzeń ===
 
=== Ilość powtórzeń ===

Wersja z 10:29, 28 wrz 2020

Moduł daje możliwość wykonania dowolnej akcji.

W tym miejscu opisany jest format akcji oraz możliwości i polecenia jakie mogą być zawarte w akcji.

Wszystkie liczby i wartości są podane w formacie szesnastkowym (HEX).

Format akcji

Ogólny format akcji przedstawia się następująco:

<informacje o akcji> <ilość powtórzeń> <początek akcji> <koniec akcji> <pętla>

Informacje o akcji

Informacje o akcji zawierają bardziej szczegółowe informacje na temat akcji opisujące przede wszystkim sposób wykonania akcji. Przykładowo można tutaj określić szczegółowo warunki uruchomienia akcji, a także w tym miejscu możesz zdefiniować jak mają wykonywać się poszczególne etapy pętli.

Format danych

<informacje o akcji> = <długość informacji> <informacje>*

<długość informacji> określa długość wszystkich informacji w bajtach

<informacje> to szczegółowy opis zachowania akcji. Takich informacji może być kilka dla każdej akcji, przy czym każda musi być innego typu.

Każda informacja jest zapisana w ten sam sposób:

<informacje> = <typ informacji> <długość danych> <dane>

Pierwszym polem jest <typ danych> (1 bajt) następnie podana jest <długość danych> w bajtach (1 bajt). Następnie są <dane>, których format zależy od typu danych.

Informacje o etapach wykonania pętli

<typ informacji> == 1

TODO:

Informacje o warunkach wykonania akcji

<typ informacji> == 2

Ten typ informacji określa szczegółowo, jakie muszą zajść warunki by akcja została uruchomiona.

Format informacji

<dane> = <rozmiar> <index> <flagi> <start> <stop> <instrukcja>*

<rozmiar> - rozmiar danych (1 bajt) w bajtach, tj od pola <index> do końca ostatniej instrukcji

<index> - miejsce zapisu o aktualnym stanie akcji. Dostępne są 4 takie miejsca (00 - 03). Każda akcja warunkowa powinna być wykonywana we własnym miejscu (każda powinna mieć inną wartość <index>) aby akcje ze sobą nie interferowały. Oczywiście akcje będą działały na tym samym indeksie, jednak może być trudno zapanować nad poprawnością warunków.

<flagi> - flagi zmieniające zachowanie kalkulatora wyliczającego warunek. Domyślna wartość to 00.

Dostępne są następujące flagi:

01 - w przypadku jakiegokolwiek błędu odczytu któregokolwiek parametru pracy modułu, obliczenia zostaną uznane za poprawne - wynik obliczeń będzie prawidłowo, a wiec może dojść do uruchomienia akcji. Domyślnie jakikolwiek błąd w obliczeniach powoduje, że akcja zostanie przerwana lub się nie uruchomi.

<start> - określa ilość prawidłowych obliczeń jaka jest wymagana by akcja się uruchomiła. W przypadku gdy wartość jest równa 00 - akcja wykona się zawsze (wartość ta w zasadzie nie ma większego sensu)

<stop> - określa ilość prawidłowych obliczeń jaka jest wymagana by akcja się zakończyła. W przypadku gdy wartość jest równa 00 - akcja zakończy się zawsze (wartość ta w zasadzie nie ma większego sensu)

<instrukcja>* - ciąg instrukcji dla kalkulatora

Ilość powtórzeń

Początek akcji

Koniec akcji

Pętla