Public Documentation
  • Introduction
  • Getting started
    • Introduction
    • 1. Welcome Page
    • 2. Introduction (Beginner's Guide)
  • Portal Tools
    • Blocko
      • Ůvod do blocka
      • Flip-flop
      • REST-API bloček
    • Grid
      • Úvod do GRID
      • Základní Tlačítko (základy GRID)
      • vylepšený Přepínač (stylování a pokročilé možnosti GRID)
      • text generátor button (messeage type, two elements one widget)
      • graf (pokročilé funkce GRID)
      • Slider (User class v GRIDu)
      • Styly a jejich použití
  • Cloud
    • Cloud
    • Instancies
    • Rest-Api
  • General
    • What we plan
  • Hardware a programování
    • Úvod
      • Nahrání prvního programu
    • Konektivita
      • Specifikace zdroje internetu
      • GSM
      • 6LowPAN
      • Komunikace s portálem
      • Přepínání mezi servery
    • Hardware
      • Základní jednotky
        • IODAG3E
          • Rozhraní a periférie
          • Konektor X a Y
          • Napájení
          • Připojení zdroje k VBAT
          • Paměti
          • Technické specifikace
          • Schémata
        • IODAG3L
      • Rozšiřující moduly
        • GSM shield
        • LED shield
        • Relay shield
        • RFID shield
        • Ultrasonic shield
        • Meteo shield
        • Movement shield
        • PIR shield
        • RGB Displej shield
        • Serial shield
      • Ostatní
        • DevKitG3
          • Schéma
        • TK3G
          • Schéma
        • ZPPG3
          • Schéma
        • WEXP
    • Programování HW
      • Architektura FW
        • Aktualizace FW
        • Autobackup
      • Struktura programu
      • Byzance API
        • Vstupy a výstupy do Portálu
        • Callback Busy
        • Odložený restart
        • Callbacky připojení
        • Uživatelská makra
      • MBED API
        • Vstupy a výstupy
        • Komunikační rozhraní
        • Časování
        • RTOS
      • Knihovny
        • DHT
        • DS1820
        • Dali
        • EdgeStruct
        • I2CWrapper
        • Knock
        • MFRC522
        • MFRC522::MIFARE_Key
        • MPU9150
        • ms5637
        • OneWire
        • PCA9536
        • RGB_matrix
        • RollerDrive
        • SHT21
        • ST7565
        • Servo
        • TCA6424A
        • TLC59116
        • TripleSevenSeg
        • MFRC522::Uid
        • WS2812
        • WakeUp
      • Offline programování
        • Vlastní IDE
        • Upload kódu z GUI
        • Upload kódu z konzole
        • Upload kódu Drag&drop
    • Tutoriály
      • Datum a čas (RTC)
      • Komunikace po sériové lince (UART) s PC
        • Konfigurace sériové linky v PC
        • Programování sériové linky
      • Základní tutoriály
        • Digital Read
        • Analog Read/Write
        • PWM Fade
        • Timer/Ticker
        • State Change Detection
        • Ovládání LED modulu
        • BusOut
        • HC-SR04 Senzor
      • Pokročilé
    • Správa a diagnostika
      • Zdroj restartu
      • LED modul
      • Identifikace zařízení
      • Monitoring parametrů
      • Vytížení zařízení
      • Webové rozhraní
        • Základní přehled
        • Správce firmware
        • Vlákna
        • Definované vstupy
        • Konfigurace MQTT
        • Nastavení
      • Bootloader
        • Režimy bootloaderu
        • Command mód
        • Další vlastnosti bootloaderu
      • Webová konzole
      • Konfigurace zařízení
        • Confighash
      • Omezení konfigurace
        • Konfigurace
        • Binárky
        • Omezení MQTT
        • Lowpan
    • Knowledge base
      • Náhodná čísla
      • Watchdog
      • Paměť RAM
Powered by GitBook
On this page
  • Vstupy
  • Digitální
  • Analogový
  • Message
  • Výstupy
  • Digitální
  • Analogový
  • Message
  1. Hardware a programování
  2. Programování HW
  3. Byzance API

Vstupy a výstupy do Portálu

PreviousByzance APINextCallback Busy

Last updated 6 years ago

Vstupy

Digitální

Digitální vstup je definován makrem DIGITAL_INPUT(). Jeho argumentem je název digitálního vstupu, následovaný anonymní metodou s obsluhou argumentu "value".

DIGITAL_INPUT(NAME, {
    // METHOD BODY
    // do something with variable 'value'
});

Tedy například pro vytvoření digitální vstupu s názvem 'custom_digital_input' a vypsání přijaté hodnoty vstupem je třeba napsat

DIGITAL_INPUT(custom_digital_input, {
    printf("custom_digital_value = %d\n", value);
});

Analogový

Podobně jako digital input se vytváří analog input

ANALOG_INPUT(NAME, {
    // METHOD BODY
    // do something with variable 'value'
});

Analogový vstup s názvem 'custom_analog_input' a výpisem svojí hodnoty se tedy vytvoří následovně

ANALOG_INPUT(custom_analog_input, {
    printf("custom_analog_value = %f\n", value);
});

Message

Vstup typu 'message' je trochu odlišný od předchozích dvou variant. Umožňuje příjem několika hodnot různých typů v jedné zprávě. Seznam typů je nutno nadefinovat v hlavičce metody. Jednotlivé argumenty je možno vyčítat z proměnných 'argn', kdy 'n' je počet argumentů (1-8). Tedy nikoliv z proměnné 'value', jako v předchozích dvou případech.

Typy argumentů mohou být

  • bool

  • int

  • float

  • string

Message vstup s jedním argumentem typu 'string'

// message input with 1 argument - string
MESSAGE_INPUT(custom_message_input_str, STRING, {
    printf("received message input string %s\n", arg1);
});

Příklad message vstupu s jedním argumentem typu 'integer'

// message input with 1 argument - integer
MESSAGE_INPUT(custom_message_input_int, INTEGER, {
    printf("received message input integer %d\n", arg1);
});

Kombinovaný message vstup se čtyřmi argumenty typu 'bool', 'int', 'float' a 'string'

// message input with 4 arguments - bool, int, float a string
MESSAGE_INPUT(custom_message_input_combi, BOOLEAN, INTEGER, FLOAT, STRING, {
    printf("received message input bool %d, int %d, float %f, string %s\n", arg1, arg2, arg3, arg4);
});

Výstupy

Prototypy výstupu je nutno definovat v hlavičce kódu.

Digitální

Definice vlastního digitálního výstupu s názvem 'custom_digital_output'

DIGITAL_OUTPUT(custom_digital_output);

Příklad použití v kódu

bool value = 1;
custom_digital_output(value);

Analogový

Analogový výstup s názvem 'custom_analog_output'

ANALOG_OUTPUT(custom_analog_output);

Příklad použití v kódu

float value = 1;
custom_analog_output(value);

Message

Message výstup, analogicky s vstupem, podporuje více argumentů, které je třeba specifikovat. Podporované jsou stejné typy, jako v případě vstupu:

  • bool

  • int

  • float

  • string

Takto může vypadat prototyp funkce s argumentem typu 'string'.

MESSAGE_OUTPUT(custom_message_output_str, STRING);

Kombinovaný prototyp funkce s argumenty typu 'bool', 'int', 'float' a 'string'.

MESSAGE_OUTPUT(custom_message_output_str, BOOLEAN, INTEGER, FLOAT, STRING);

Příklad použí kombinovaného výstupu v aplikaci

bool value_bool = true;
int value_int = 42;
float value_float = 1.234;
char value_string[64];
sprintf(value_string, "test containing another values - %d, %d, %f\n", value_bool, value_int, value_float);
custom_message_output_str(value_bool, value_int, value_float, value_string);