FULL-C: set and get: Porovnání verzí

Řádek 175: Řádek 175:
 
   index    | i\u\f\a | směr |  popis  
 
   index    | i\u\f\a | směr |  popis  
 
  -----------+---------+------+--------------------------------------------------------------------------------------------------------
 
  -----------+---------+------+--------------------------------------------------------------------------------------------------------
   0        | u32    |  GET |  firmware PAIRCODE (identifikace typu SDS)
+
   0        | u32    |  GET |  firmware PAIRCODE (SDS device master-type identification)
 
   0        |        |  SET |  n/a (read-only)
 
   0        |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1        | u32    |  GET |  počet přihlášených uživatelů do web admin
+
   1        | u32    |  GET |  count of actually logged-in users (logged-in to SDS web admin)
 
   1        |        |  SET |  n/a
 
   1        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   2        | u32    |  GET |  unikátní ID pro SDS (ve výrobě napevno dané sériové číslo)
+
   2        | u32    |  GET |  unique ID for SDS (serial number assigned during manufacturing)
   2        | a      |  GET |  sysLocation (text, viz webadmin)
+
   2        | a      |  GET |  sysLocation (user configured text)
 
   2        |        |  SET |  n/a
 
   2        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 191: Řádek 191:
 
   4        |        |  SET |  n/a (read-only)
 
   4        |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   5        | u32    |  GET |  rozpad LOCAL času = den (1 31)
+
   5        | u32    |  GET |  LOCAL time decomposition = value of DAY (1 through 31)
 
   5        |        |  SET |  n/a
 
   5        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   6        | u32    |  GET |  rozpad LOCAL času = měsíc (1 12)
+
   6        | u32    |  GET |  LOCAL time decomposition = value of MONTH (1 through 12)
 
   6        |        |  SET |  n/a
 
   6        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   7        | u32    |  GET |  rozpad LOCAL času = rok (plná hodnota)
+
   7        | u32    |  GET |  LOCAL time decomposition = value of YEAR (full value)
 
   7        |        |  SET |  n/a
 
   7        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   8        | u32    |  GET |  rozpad LOCAL času = hodina (0 23)
+
   8        | u32    |  GET |  LOCAL time decomposition = value of HOUR (0 through 23)
 
   8        |        |  SET |  n/a
 
   8        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   9        | u32    |  GET |  rozpad LOCAL času = minuta (0 59)
+
   9        | u32    |  GET |  LOCAL time decomposition = value of MINUTE (0 through 59)
 
   9        |        |  SET |  n/a
 
   9        |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   10      | u32    |  GET |  rozpad LOCAL času = sekunda (0 59)
+
   10      | u32    |  GET |  LOCAL time decomposition = value of SECOND (0 through 59)
 
   10      |        |  SET |  n/a
 
   10      |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   11      | u32    |  GET |  rozpad LOCAL času = číslo dne v týdnu = počet dní od Neděle (0 6)
+
   11      | u32    |  GET |  LOCAL time decomposition = day-of-week number = number of days since Sunday (0 to 6)
 
   11      |        |  SET |  n/a
 
   11      |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   12      | u32    |  GET |  Device IP address
+
   12      | u32    |  GET |  SDS device IP address (web admin IP)
 
   12      |        |  SET |  n/a (read-only)
 
   12      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 218: Řádek 218:
 
   13..15  |        |  SET |  n/a (reserved)
 
   13..15  |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   16      | u32    |  GET |  Gateway IP address
+
   16      | u32    |  GET |  network gateway IP address
 
   16      |        |  SET |  n/a (read-only)
 
   16      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 224: Řádek 224:
 
   17..19  |        |  SET |  n/a (reserved)
 
   17..19  |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   20      | u32    |  GET |  Network IP Mask
+
   20      | u32    |  GET |  network IP MASK
 
   20      |        |  SET |  n/a (read-only)
 
   20      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 236: Řádek 236:
 
   25      |        |  SET |  n/a (read-only)
 
   25      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   26      | i32    |  GET |  NTP GMT offset (-11 .. 11) = hodinový offset mezi UTC a LOCAL
+
   26      | i32    |  GET |  read NTP GMT offset (-11 .. 11) = offset, in hour(s), between UTC and LOCAL time
   26      | i32    |  SET |  NTP GMT offset (pozor, nezapíše se do pevné paměti)
+
   26      | i32    |  SET |  set NTP GMT offset (warning: this is not stored to permanent memory - use web admin to store it permanently)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   27      | u32    |  GET |  platnost přidělené IP adresy (0 = SDS nemá přidělenou IP)
+
   27      | u32    |  GET |  validity of the assigned IP address (0 = SDS does not have any IP address assigned, at the moment)
 
   27      |        |  SET |  n/a (read-only)
 
   27      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   28      | u32    |  GET |  poslední okamžik kdy byla IP patřící SDS změněna
+
   28      | u32    |  GET |  timestamp of last change (assignment) of IP address
 
   28      |        |  SET |  n/a (read-only)
 
   28      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   29      | u32    |  GET |  stav DHCP (0=vyp, nebo stavové hodnoty: 1..11)
+
   29      | u32    |  GET |  state of DHCP client (0 = disabled, OR: enabled = status value of 1 .. 11)
 
   29      |        |  SET |  n/a (read-only)
 
   29      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   30      | u32    |  GET |  aktualní hodnota DHCP lease time (secs)
+
   30      | u32    |  GET |  DHCP lease time (secs) value
 
   30      |        |  SET |  n/a (read-only)
 
   30      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   31      | u32    |  GET |  MAC[0] (odpověď je vždy v dolních 8 bitech)
+
   31      | u32    |  GET |  MAC[0] (always use only the lowest 8 bits, for each item)
 
   31      |        |  SET |  n/a (read-only)
 
   31      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 272: Řádek 272:
 
   37..39  |        |  SET |  n/a (read-only)
 
   37..39  |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   40      | u32    |  GET |  SoC power-up or reset reason (64/128 = LSB: 8 bits) (512 = all 32 bits)
+
   40      | u32    |  GET |  SoC power-up or reset reason (64/128 = read only LSB: 8 bits) (512 = read all 32 bits)
 
   40      |        |  SET |  n/a (read-only)
 
   40      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   41      | a      |  GET |  OEM branding (login web page) [32 chars]
 
   41      | a      |  GET |  OEM branding (login web page) [32 chars]
   41      | a      |  SET |  OEM branding (login web page) [32 chars]
+
   41      | a      |  SET |  set custom OEM branding (login web page) [32 chars]
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   42      | a      |  GET |  OEM branding (welcome web page) [128 chars]
 
   42      | a      |  GET |  OEM branding (welcome web page) [128 chars]
   42      | a      |  SET |  OEM branding (welcome web page) [128 chars]
+
   42      | a      |  SET |  set custom OEM branding (welcome web page) [128 chars]
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   43      | u32    |  GET |  NTP-server IP address
 
   43      | u32    |  GET |  NTP-server IP address
 
   43      |        |  SET |  n/a (read-only)
 
   43      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   44      | u32    |  GET |  stav NTP-client (0 = nesynchronizováno)
+
   44      | u32    |  GET |  NTP-client status (0 = NOT synchronised)
 
   44      |        |  SET |  n/a (read-only)
 
   44      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   45      | u32    |  GET |  UpTime v jednotkách msec (uptime od startu zařízení)
+
   45      | u32    |  GET |  UpTime value - units: msec (uptime is constantly counted since then latest SDS FW boot)
 
   45      |        |  SET |  n/a (read-only)
 
   45      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   46      | u32    |  GET |  teplota SoC jako RAW hodnota (nutno ručně přepočíst na degC)
+
   46      | u32    |  GET |  temperature of SoC - the RAW value (you have to manually recalcutate this raw value to get degC)
   46      | i32    |  GET |  teplota SoC přímo přepočtená na degC (už provedený kalibrovaný přepočet)
+
   46      | i32    |  GET |  temperature of SoC - already recalculated to degC (SDS does have, and uses, all the required calibration info)
 
   46      |        |  SET |  n/a (read-only)
 
   46      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 297: Řádek 297:
 
   48..60  |        |  SET |  n/a (reserved)
 
   48..60  |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   61      | u32    |  GET |  random number
+
   61      | u32    |  GET |  read this to get a 32-bit Random Number (HW RNG)
 
   61      |        |  SET |  n/a (read-only)
 
   61      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 303: Řádek 303:
 
   62..63  |        |  SET |  n/a (reserved)
 
   62..63  |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   64      | u32    |  GET |  stav sekundového odpočítavače (snižuje se o 1 každou 1sec, až na 0)
+
   64      | u32    |  GET |  read this to get a value of an automatic SECOND DOWN-COUNTER (it does decrease its internal value by 1 for each 1 second, down to 0 where it stays, until restarted by writing)
   64      | u32    |  SET |  nastavení hodnoty sekundového odpočítávače
+
   64      | u32    |  SET |  write this to set/start/restart an automatic SECOND DOWN-COUNTER
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   65      | u32    |  GET |  stav automatiky DST času (0 = nepoužito, 1 = DST aplikováno, 2 = DST neaplikováno)
+
   65      | u32    |  GET |  get state of the DST automatic (0 = not used) (1 = DST used and DST shift is applied) (2 = DST used but NO shift applied)
 
   65      | u32    |  SET |  n/a (reserved)
 
   65      | u32    |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 312: Řádek 312:
 
   66..77  |        |  SET |  n/a (reserved)
 
   66..77  |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   78      | u32    |  GET |  SDS HW: 0 = single PWM output / 4 = four PWM outputs
+
   78      | u32    |  GET |  SDS HW availability detail (information): 0 = single PWM output / 4 = four PWM outputs
 
   78      |        |  SET |  n/a (reserved)
 
   78      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   79      | u32    |  GET |  SDS HW: 1 = variant "DP"
+
   79      | u32    |  GET |  SDS HW sub-type (information): 1 = variant "DP" / 0 = basic BIG (no DP)
 
   79      |        |  SET |  n/a (reserved)
 
   79      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   80      | u32    |  GET |  SDS HW: 1 = variant "DS84"
+
   80      | u32    |  GET |  SDS HW sub-type (information): 1 = variant "DS84" / 0 = no DS84
 
   80      |        |  SET |  n/a (reserved)
 
   80      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 324: Řádek 324:
 
   81..84  |        |  SET |  n/a (reserved)
 
   81..84  |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   85      | u32    |  GET |  rozlišení typu modulu: BIG, BIG2 nebo STSW: 0 = STSW or SMALL / 1 = BIG / 2 = BIG2
+
   85      | u32    |  GET |  SDS module type (BIG, BIG2 or STSW) discrimination: 0 = STSW or SMALL / 1 = BIG / 2 = BIG2
 
   85      |        |  SET |  n/a (reserved)
 
   85      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   86      | u32    |  GET |  generický stav běhu FULL-C programu (0, 1, 2, 4, 8, 16, 32, 64)
+
   86      | u32    |  GET |  FC: actual state (running, uploading, failed etc.) of the FULL-C program (0, 1, 2, 4, 8, 16, 32, 64)
 
   86      |        |  SET |  n/a (reserved)
 
   86      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   87      | u32    |  GET |  unikátní identifikátor nahraného FULL-C programu
+
   87      | u32    |  GET |  FC: unique identifier of the actually uploaded FULL-C program
 
   87      |        |  SET |  n/a (reserved)
 
   87      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 336: Řádek 336:
 
   88      |        |  SET |  n/a (reserved)
 
   88      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   89      | u32    |  GET |  IP-WatchDog: stav (0 = vyp)
+
   89      | u32    |  GET |  SDS IP-WatchDog: state (0 = OFF)
 
   89      |        |  SET |  n/a (read-only)
 
   89      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   90      | u32    |  GET |  IP-WatchDog: poslední známé RTT (msecs)
+
   90      | u32    |  GET |  SDS IP-WatchDog: last known RTT (msecs)
 
   90      |        |  SET |  n/a (read-only)
 
   90      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   91      | u32    |  GET |  IP-WatchDog: stav výstupu
+
   91      | u32    |  GET |  SDS IP-WatchDog: logical output status
 
   91      |        |  SET |  n/a (read-only)
 
   91      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   92..136 |        |  GET |  n/a (reserved)
+
   92..131 |        |  GET |  n/a (reserved)
   92..136 |        |  SET |  n/a (reserved)
+
   92..131 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   137      | u32    |  GET |  CPU cycle count (number of executed instructions since power-up/reboot), continously wraps around, (1 step = approx 2 nsec)
+
  132      | u32    |  GET |  FC: UTC time value, of the last FC-WDG restart of this (same) program (zeroed when a new program is uploaded)
 +
  132      |        |  SET |  n/a (read-only)
 +
-----------+---------+------+--
 +
  133      | u32    |  GET |  FC: UpTime value, of the last FC-WDG restart of this (same) program (zeroed when a new program is uploaded)
 +
  133      |        |  SET |  n/a (read-only)
 +
-----------+---------+------+--
 +
  134      | a      |  GET |  FC: archived text of the last FC error
 +
  134      |        |  SET |  n/a (read-only)
 +
-----------+---------+------+--
 +
  135      | u32    |  GET |  FC: number of FC-WDF restarts of this (same) program (zeroed when a new program is uploaded)
 +
  135      |        |  SET |  n/a (read-only)
 +
-----------+---------+------+--
 +
  136      | u32    |  GET |  FC: total count of all FC program starts, since the SDS boot
 +
  136      |        |  SET |  n/a (read-only)
 +
-----------+---------+------+--
 +
   137      | u32    |  GET |  read an actual SDS CPU cycle counter (number of executed instructions since power-up/reboot), continously wraps around, (1 step = approx 2 nsec)
 
   137      |        |  SET |  n/a
 
   137      |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   138      | u32    |  GET |  RTC status (0 = invalid data after powerup in RTC, 1 = RTC data OK and were used on powerup)  
+
   138      | u32    |  GET |  get SDS internal RTC power-on status (0 = invalid data after powerup in RTC) (1 = RTC data OK and were used on powerup)  
 
   138      |        |  SET |  n/a
 
   138      |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   139      | u32    |  GET |  NTP true raw epoch-time (secs since Linux Epoch) (clear UTC with *no* GMT or DST offset applied)
+
   139      | u32    |  GET |  NTP true actual raw epoch-time (secs since Linux Epoch) = clean UTC with *no* GMT nor DST offset applied
 
   139      |        |  SET |  n/a
 
   139      |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   140      | u32    |  GET |  proměnná pro speciální TRAP (401)
+
   140      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:401)
   140      | u32    |  SET |  proměnná pro speciální TRAP (401)
+
   140      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:401)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   141      | a      |  GET |  proměnná pro speciální TRAP (402) (max 32 znaků)
+
   141      | a      |  GET |  FC: custom TRAP variable - read (TRAP:402)
   141      | a      |  SET |  proměnná pro speciální TRAP (402)
+
   141      | a      |  SET |  FC: custom TRAP variable - write to change (TRAP:402) (note. max 32 characters)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   142      | u32    |  GET |  proměnná pro speciální TRAP (403)
+
   142      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:403)
   142      | u32    |  SET |  proměnná pro speciální TRAP (403)
+
   142      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:403)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   143      | u32    |  GET |  proměnná pro speciální TRAP (404)
+
   143      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:404)
   143      | u32    |  SET |  proměnná pro speciální TRAP (404)
+
   143      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:404)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   144      | u32    |  GET |  proměnná pro speciální TRAP (405)
+
   144      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:405)
   144      | u32    |  SET |  proměnná pro speciální TRAP (405)
+
   144      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:405)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   145      | u32    |  GET |  proměnná pro speciální TRAP (406)
+
   145      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:406)
   145      | u32    |  SET |  proměnná pro speciální TRAP (406)
+
   145      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:406)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   146      | u32    |  GET |  proměnná pro speciální TRAP (407)
+
   146      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:407)
   146      | u32    |  SET |  proměnná pro speciální TRAP (407)
+
   146      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:407)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   147      | u32    |  GET |  proměnná pro speciální TRAP (408)
+
   147      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:408)
   147      | u32    |  SET |  proměnná pro speciální TRAP (408)
+
   147      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:408)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   148      | u32    |  GET |  proměnná pro speciální TRAP (409)
+
   148      | u32    |  GET |  FC: custom TRAP variable - read (TRAP:409)
   148      | u32    |  SET |  proměnná pro speciální TRAP (409)
+
   148      | u32    |  SET |  FC: custom TRAP variable - write to change (TRAP:409)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   149      |        |  GET |  n/a (reserved)
 
   149      |        |  GET |  n/a (reserved)
 
   149      |        |  SET |  n/a (reserved)
 
   149      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   150      |        |  GET |  stav blokování zápisu do sdílených proměnných (tzn. podmínění přihlášením)
+
   150      |        |  GET |  FC: shared-variables access control - read state of the access control
   150      |        |  SET |  nastavení blokování zápisu do sdílených proměnným (0 = bez nutnosti přihlášení uživatele)
+
   150      |        |  SET |  FC: shared-variables access control - use this to force a user-login in order to access the shared variables (0 = access without login is enabled)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   151..182 | u32 (a) |  GET |  OPTO1..OPTO32 status (pozor: 0 = aktivní)
+
   151..182 | u32 (a) |  GET |  OPTO1..OPTO32 status (warning: 0 = input ACTIVE = with signal) (non-zero = input not active = no signal)
 
   151..182 |        |  SET |  n/a (read-only)
 
   151..182 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   183      | u32    |  GET |  datum vydání FW v tomto SDS (nebo jen 0x00000000 u starších FW)
+
   183      | u32    |  GET |  SDS FW date stamp (or just 0x00000000 for a very old firmware) - use this to verify the features or to ask user to update the firmware to a required newer version
 
   183      |        |  SET |  n/a (read-only)
 
   183      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   184      | u32    |  GET |  způsob spuštění FULL-C programu
+
   184      | u32    |  GET |  FC: information about how this actual running program was started (0 = none) (1 = normal) (2 = fc-wdg or manual restart) (4 = freshly loaded)
 
   184      |        |  SET |  n/a (read-only)
 
   184      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   185      | u32    |  GET |  hodnota odpočtu FULL-C WatchDogu, v msec
+
   185      | u32    |  GET |  FC: actual FULL-C WatchDogu (decreasing) timeout counter value, v msec
 
   185      |        |  SET |  n/a (read-only)
 
   185      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   186      | u32    |  GET |  (společná) frekvence PWM3 a PWM4 generátoru (1Hz .. 5MHz)
+
   186      | u32    |  GET |  (common) frequency for PWM3 and PWM4 generator (1Hz .. 5MHz)
   186      |        |  SET |  N/A (použijte SDS_PWMx_setDutyAsPercents)
+
   186      |        |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   187      | u32    |  GET |  PWM3 duty-cycle percent (0..100 [%])
 
   187      | u32    |  GET |  PWM3 duty-cycle percent (0..100 [%])
   187      |        |  SET |  N/A (použijte SDS_PWMx_setDutyAsPercents)
+
   187      |        |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   188      | u32    |  GET |  PWM3 HW: direct "pulse" register value
 
   188      | u32    |  GET |  PWM3 HW: direct "pulse" register value
Řádek 412: Řádek 427:
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   189      | u32    |  GET |  PWM4 duty-cycle percent (0..100 [%])
 
   189      | u32    |  GET |  PWM4 duty-cycle percent (0..100 [%])
   189      |        |  SET |  N/A (použijte SDS_PWMx_setDutyAsPercents)
+
   189      |        |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   190      | u32    |  GET |  PWM4 HW: direct "pulse" register value
 
   190      | u32    |  GET |  PWM4 HW: direct "pulse" register value
 
   190      |        |  SET |  n/a
 
   190      |        |  SET |  n/a
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   191      | u32    |  GET |  (společná) frekvence PWM1 a PWM2 generátoru (1Hz .. 5MHz)
+
   191      | u32    |  GET |  (common) frequency for PWM1 and PWM2 generator (1Hz .. 5MHz)
   191      |        |  SET |  N/A (použijte SDS_PWMx_setDutyAsPercents)
+
   191      |        |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   192      | u32    |  GET |  PWM1 duty-cycle percent (0..100 [%])
 
   192      | u32    |  GET |  PWM1 duty-cycle percent (0..100 [%])
   192      |        |  SET |  N/A (použijte SDS_PWMx_setDutyAsPercents)
+
   192      |        |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   193      | u32    |  GET |  PWM1 HW: direct "pulse" register value
 
   193      | u32    |  GET |  PWM1 HW: direct "pulse" register value
Řádek 432: Řádek 447:
 
   195      |        |  SET |  N/A
 
   195      |        |  SET |  N/A
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   196..228 | u32 (a) |  GET |  RELAY1..RELAY32 - "kdo" ovládá daný výstup
+
   196..228 | u32 (a) |  GET |  RELAY1..RELAY32 - "who" controls this output
   196..228 | u32    |  SET |  RELAY1..RELAY32 - 0=ručne, 2=FULL-C, 4=IPwdg
+
   196..228 | u32    |  SET |  RELAY1..RELAY32 - (0 = manual = user via web) (2 = FULL-C) (4 = SDS IPwdg)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   229..230 |        |  GET |  n/a (reserved)
 
   229..230 |        |  GET |  n/a (reserved)
 
   229..230 |        |  SET |  n/a (reserved)
 
   229..230 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   231..262 | u32 (a) |  GET |  RELAY1..RELAY32 - stav (0=vyp)
+
   231..262 | u32 (a) |  GET |  RELAY1..RELAY32 - output status (0 = off)
   231..262 | u32    |  SET |  RELAY1..RELAY32 - stav (0=vyp)
+
   231..262 | u32    |  SET |  RELAY1..RELAY32 - output status control (0 = off) (!0 = coil activated)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   263..265 |        |  GET |  n/a (reserved)
 
   263..265 |        |  GET |  n/a (reserved)
 
   263..265 |        |  SET |  n/a (reserved)
 
   263..265 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   266..297 | a      |  GET |  RELAY1..RELAY32 - název (text, viz webadmin)
+
   266..297 | a      |  GET |  RELAY1..RELAY32 - identification/name (text, see webadmin)
 
   266..297 |        |  SET |  n/a (read-only)
 
   266..297 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 450: Řádek 465:
 
   298..300 |        |  SET |  n/a (reserved)
 
   298..300 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   301      | u32    |  GET |  stav (log0/log1) pinu GPIO-TOPBOARD
+
   301      | u32    |  GET |  status (log0/log1) of GPIO-TOPBOARD pin
   301      | u32    |  SET |  stav pinu GPIO-TOPBOARD
+
   301      | u32    |  SET |  control the GPIO-TOPBOARD pin value (if direction is set to output)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   302      | u32    |  GET |  směr (vstup/výstup) pinu GPIO-TOPBOARD
+
   302      | u32    |  GET |  direction (in/out) of GPIO-TOPBOARD pin
   302      | u32    |  SET |  směr pinu GPIO-TOPBOARD
+
   302      | u32    |  SET |  control the GPIO-TOPBOARD pin direction (input or output)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
 
   303..310 |        |  GET |  n/a (reserved)
 
   303..310 |        |  GET |  n/a (reserved)
 
   303..310 |        |  SET |  n/a (reserved)
 
   303..310 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   311..342 | f32 (a) |  GET |  přepočtená hodnota (float) A/D vstupu
+
   311..342 | f32 (a) |  GET |  AD: recalculated value (float) of A/D input
 
   311..342 |        |  SET |  n/a (read-only)
 
   311..342 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   343..374 | a      |  GET |  jméno A/D vstupu (text)
+
   343..374 | a      |  GET |  AD: input identification / name (text)
 
   343..374 |        |  SET |  n/a (read-only)
 
   343..374 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   375..406 | a      |  GET |  jednotka A/D vstupu (text)
+
   375..406 | a      |  GET |  AD: input unit name (text)
 
   375..406 |        |  SET |  n/a (read-only)
 
   375..406 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 471: Řádek 486:
 
   407..427 |        |  SET |  n/a (reserved)
 
   407..427 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   428      | u32    |  GET |  uživatelem vybraný typ OZ chipu (HW SDS), 0=AD, 9=LMV
+
   428      | u32    |  GET |  AD: user-selected type of the OpAmp chip (HW SDS) (0 = AD) (9 = LMV)
   428      |        |  SET |  n/a (read-only) (nastavení jen přes web)
+
   428      |        |  SET |  n/a (read-only) (configuration to be done via web admin) - note. this must match the HW
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   429      | u32    |  GET |  surová hodnota Vbatt (raw ADC hodnota) konverze je: Vbatt = (b_raw*3.3)/2048 (výsledek: Volty)
+
   429      | u32    |  GET |  AD: raw value of Vbatt (raw ADC value). To convert use: Vbatt = (raw * 3.3)/2048 (result in Volts)
 
   429      |        |  SET |  n/a (read-only)
 
   429      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   430      | u32    |  GET |  hodnota VrefInt v miliVoltech (typicky 3300)
+
   430      | u32    |  GET |  AD: value of VrefInt in miliVolts (typical value: 3300)
 
   430      |        |  SET |  n/a (read-only)
 
   430      |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   431..438 | u32 (a) |  GET |  surová hodnota (raw) A/D vstupu (12bit: 0..4095) - pro varianty 64, 128 a 512
+
   431..438 | u32 (a) |  GET |  AD: raw value of A/D input in 12bits (0..4095) - for all SDS variants (64, 128 and 512)
 
   431..438 |        |  SET |  n/a (read-only)
 
   431..438 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   439..446 | u32 (a) |  GET |  surová hodnota (raw) A/D vstupu (16bit: 0..65535) - pouze pro variantu 512
+
   439..446 | u32 (a) |  GET |  AD: raw value of A/D input in 16bits (0..65535) - available only for the 512 SDS variant
 
   439..446 |        |  SET |  n/a (read-only)
 
   439..446 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 489: Řádek 504:
 
   447..462 |        |  SET |  n/a (reserved)
 
   447..462 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   463..469 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [0]
+
   463..469 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [0]
 
   463..469 |        |  SET |  n/a (read-only)
 
   463..469 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   470..476 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [1]
+
   470..476 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [1]
 
   470..476 |        |  SET |  n/a (read-only)
 
   470..476 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   477..483 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [2]
+
   477..483 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [2]
 
   477..483 |        |  SET |  n/a (read-only)
 
   477..483 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   484..490 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [3]
+
   484..490 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [3]
 
   484..490 |        |  SET |  n/a (read-only)
 
   484..490 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   491..497 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [4]
+
   491..497 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [4]
 
   491..497 |        |  SET |  n/a (read-only)
 
   491..497 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   498..504 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [5]
+
   498..504 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [5]
 
   498..504 |        |  SET |  n/a (read-only)
 
   498..504 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   505..511 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [6]
+
   505..511 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [6]
 
   505..511 |        |  SET |  n/a (read-only)
 
   505..511 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   512..518 | f32 (a) |  GET |  kalibrační údaje (F0..F6) pro A/D vstup [7]
+
   512..518 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [7]
 
   512..518 |        |  SET |  n/a (read-only)
 
   512..518 |        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 516: Řádek 531:
 
   519..991 |        |  SET |  n/a (reserved)
 
   519..991 |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   992      | u32    |  GET |  UTC timestamp (localtime) kdy bude nejbližší 23:59:59 (poslední sekunda aktuálního dne)
+
   992      | u32    |  GET |  UTC timestamp (localtime) of the moment, when local clock gets to 23:59:59 (= last second of this day)
 
   992      |        |  SET |  n/a (reserved)
 
   992      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   993      | u32    |  GET |  UTC timestamp (localtime) - začátek včerejšího dne, od kdy byl brán záznam (0 = záznam není)
+
   993      | u32    |  GET |  UTC timestamp (localtime) marking a start of yesterday (as a moment since when we capture a new record) (or 0 = if there is no record for yesterday)
 
   993      |        |  SET |  n/a (reserved)
 
   993      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   994      | u32    |  GET |  UTC timestamp (localtime) - začátek dnešního dne (nebo zapnutí SDS), od kdy je brán nový dnešní záznam
+
   994      | u32    |  GET |  UTC timestamp (localtime) marking a start of today (or a moment of SDS power on), since when a today's record is captured
 
   994      |        |  SET |  n/a (reserved)
 
   994      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   995      | u32    |  GET |  počet sekund za minulý den, jak dlouho byl aktivní T0 (tedy za celý den od [993] do [994])
+
   995      | u32    |  GET |  count of seconds, during yesterday, capturing the total length of T0 tariff activity (captures the timespan since [993] to [994])
 
   995      |        |  SET |  n/a (reserved)
 
   995      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   996      | u32    |  GET |  počet sekund za minulý den, jak dlouho byl aktivní T1 (tedy za celý den od [993] do [994])
+
   996      | u32    |  GET |  count of seconds, during yesterday, capturing the total length of T1 tariff activity (captures the timespan since [993] to [994])
 
   996      |        |  SET |  n/a (reserved)
 
   996      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   997      | u32    |  GET |  počet sekund dnes od času [994] (začátek dnešního dne) do teď; jak dlouho byl/je aktivní T0
+
   997      | u32    |  GET |  count of seconds since the moment of [994] (start of tady) until NOW; counting the duration of T0 tariff being active
 
   997      |        |  SET |  n/a (reserved)
 
   997      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   998      | u32    |  GET |  počet sekund dnes od času [994] (začátek dnešního dne) do teď; jak dlouho byl/je aktivní T1
+
   998      | u32    |  GET |  count of seconds since the moment of [994] (start of tady) until NOW; counting the duration of T1 tariff being active
 
   998      |        |  SET |  n/a (reserved)
 
   998      |        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   999      | u32    |  GET |  okamžitý stav Tarifního Vstupu (je-li právě teď, v režimu T0 (hodnota = 0) nebo T1)
+
   999      | u32    |  GET |  immediate state of the global Tariff Input (0 = T0 is active right now) (!0 = T1 is active right now)
   999      | u32    |  SET |  "ruční" nastavení stavu Tarifního Vstupu (funguje pouze pokud je T.Vstup nastaven na FULL-C)
+
   999      | u32    |  SET |  "manual" control of the global Tariff Input (write/control enabled only if the feature is set in web admin - control set to FULL-C)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1000..1031| u32 (a) |  GET |  [S0-vstup] aktuální údaj počítadla pro T0
+
   1000..1031| u32 (a) |  GET |  [S0-input] aktuální údaj počítadla pro T0
   1000..1031| u32    |  SET |  [S0-vstup] aktuální údaj počítadla pro T0
+
   1000..1031| u32    |  SET |  [S0-input] aktuální údaj počítadla pro T0
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1032..1063| u32 (a) |  GET |  [S0-vstup] aktuální údaj počítadla pro T1
+
   1032..1063| u32 (a) |  GET |  [S0-input] aktuální údaj počítadla pro T1
   1032..1063| u32    |  SET |  [S0-vstup] aktuální údaj počítadla pro T1
+
   1032..1063| u32    |  SET |  [S0-input] aktuální údaj počítadla pro T1
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1064..1095| u32 (a) |  GET |  [S0-vstup] vzdálenost (msec) mezi impulsy
+
   1064..1095| u32 (a) |  GET |  [S0-input] vzdálenost (msec) mezi impulsy
 
   1064..1095|        |  SET |  n/a (read-only)
 
   1064..1095|        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1096..1127| u32 (a) |  GET |  [S0-vstup] čas (msec) od posledního impulsu
+
   1096..1127| u32 (a) |  GET |  [S0-input] čas (msec) od posledního impulsu
 
   1096..1127|        |  SET |  n/a (read-only)
 
   1096..1127|        |  SET |  n/a (read-only)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1128..1159| u32    |  GET |  [S0-vstup] rozdíl počítadla T0 za včerejší den (tj. od [993] do [994])
+
   1128..1159| u32    |  GET |  [S0-input] rozdíl počítadla T0 za včerejší den (tj. od [993] do [994])
 
   1128..1159|        |  SET |  n/a (reserved)
 
   1128..1159|        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1160..1191| u32    |  GET |  [S0-vstup] rozdíl počítadla T1 za včerejší den (tj. od [993] do [994])
+
   1160..1191| u32    |  GET |  [S0-input] rozdíl počítadla T1 za včerejší den (tj. od [993] do [994])
 
   1160..1191|        |  SET |  n/a (reserved)
 
   1160..1191|        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1192..1223| u32    |  GET |  [S0-vstup] rozdíl počítadla T0 dnes od času [994] (od začátku dnešního dne) do teď
+
   1192..1223| u32    |  GET |  [S0-input] rozdíl počítadla T0 dnes od času [994] (od začátku dnešního dne) do teď
 
   1192..1223|        |  SET |  n/a (reserved)
 
   1192..1223|        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1224..1255| u32    |  GET |  [S0-vstup] rozdíl počítadla T1 dnes od času [994] (od začátku dnešního dne) do teď
+
   1224..1255| u32    |  GET |  [S0-input] rozdíl počítadla T1 dnes od času [994] (od začátku dnešního dne) do teď
 
   1224..1255|        |  SET |  n/a (reserved)
 
   1224..1255|        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
Řádek 567: Řádek 582:
 
   1256..1499|        |  SET |  n/a (reserved)
 
   1256..1499|        |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--
   1500..1531| a      |  GET |  [S0-vstup] konfigurační struktura
+
   1500..1531| a      |  GET |  [S0-input] konfigurační struktura
 
   1500..1531| a      |  SET |  n/a (reserved)
 
   1500..1531| a      |  SET |  n/a (reserved)
 
  -----------+---------+------+--
 
  -----------+---------+------+--

Verze z 31. 12. 2022, 12:09

Tato stránka popisuje programovací jazyk FULL-C, který je dostupný na vybraných zařízeních SDS. 
Některá zařízení používají SDS-C, pro který máme návody jinde na této WiKi.

Jak je FULL-C program připojen k hardware

Základním důvodem pro existenci FULL-C programu na zařízení SDS je možnost číst stav hardware (např. opto-vstupy) a také hardware řídit (např. spínat relé).

Za tímto účelem je k dispozici sada C funkcí, které může program volat a které buď navrátí aktuální stav ("get" funkce), nebo stav změní ("set" funkce).

Zde je seznam těchto funkcí:

         void SDS_set_i32(unsigned int index, signed int value);
   signed int SDS_get_i32(unsigned int index);
 
         void SDS_set_i64(unsigned int index, int64_t value);
   signed int SDS_get_i64(unsigned int index);
  
         void SDS_set_u32(unsigned int index, unsigned int value);
 unsigned int SDS_get_u32(unsigned int index);
 
         void SDS_set_u64(unsigned int index, uint64_t value);
 unsigned int SDS_get_u64(unsigned int index);
 
         void SDS_set_f32(unsigned int index, float value);
        float SDS_get_f32(unsigned int index);
 
         void SDS_set_a(unsigned int index, void *ptr, unsigned int len);
         void SDS_get_a(unsigned int index, void *ptr, unsigned int maxlen);

Historicky zde původně byly i tyto funkce:

         void SDS_set_i(unsigned int index, signed int value);
   signed int SDS_get_i(unsigned int index);
 
         void SDS_set_u(unsigned int index, unsigned int value);
 unsigned int SDS_get_u(unsigned int index);

Ty "nezmizely" jen byly přejmenovány (i na i32, u na u32). Pokud je váš program používá, vše vám bude fungovat i nadále, ale co nejdříve jejich název ve svém programu přepište na nový.


Detailní Příklady

Přečtěte si nejprve celou tuto stránku, ať pochopíte princip. Následně se podívejte na jednotlivé příklady zde.


Princip

Základem je použití přístupu k informacím prostřednictvím tzv. indexu.

Pod každou položkou (číselným indexem) je schována odpovídající činnost nebo hodnota (např. index = 3 vrátí přes "get" funkci aktuální hodnotu "UpTime", viz tabulka).

Každá položka však může mít jiný obsah (číslo nebo text): podle toho je potřeba zvolit správný přístup (správnou set\get funcki):

 typ položky              | rozsah         | typ proměnné    | postfix set\get funkce
--------------------------+----------------+-----------------+-------------------------
  signed 32-bit integer   |  -2^31..+2^31  |  int            |  _i32
  signed 64-bit integer   |  -2^63..+2^63  |  int64_t        |  _i32
  unsigned 32-bit integer |      0..+2^32  |  unsigned int   |  _u64
  unsigned 64-bit integer |      0..+2^64  |  uint64_t       |  _u64
  IP address              |  uchar[4]      |  unsigned int   |  _u32
  float                   |  IEEE-754      |  float          |  _f32
  string (text)           |  len\maxlen    |  void* \ char*  |  _a
  binary array            |  len\maxlen    |  void* \ char*  |  _a

Jak lze vidět, bude při psaní programu potřeba správně vybrat postfix u dané funkce.

Příklad: chceme zapsat desetinné číslo "numf", v tom případě se jedná o typ "float numf;" a musíme použít SDS_set_f(index, numf);.


Varování: ačkoliv je většina indexů podobných jako u SDS (pro pole sys[]), nemají všechny indexy stejný význam mezi SDS-C a FULL-C. Vždy používejte tu správnou tabulku pro každý programovací jazyk.


Funkce _u32 \ _i32 \ _f32

Základní funkce určené pro získání číselné hodnoty "z" SDS, popř. zápisu číselné hodnoty "do" SDS. Vždy se jedná o kombinaci indexu (který určuje o co máme zájem) a hodnoty (která je vždy 32 bitová, tj. 4 bajty, ale obsah těchto 4 bajtů už je různý - buď celočíselná hodnota bez nebo se znaménkem (nejvyšší bit), nebo desetinné číslo - floating point).

Čtení hodnoty je potřeba pro zjištění aktuálního stavu (např. stav optického vstupu, nebo poslední známá teplota z čidla). Zápis se pak používá pro ovládání (např. sepnutí relé).


První příklad: čtení 32bitové hodnoty bez znaménka

unsigned int NTPtime;
NTPtime = SDS_get_u32(4);
printf("Aktuální Epoch Time je %u (secs).\n", NTPtime);

Druhý příklad: čtení 32bitové hodnoty se znaménkem

int NTPoffset;
NTPoffset = SDS_get_i32(26);
printf("Offset pro NTP čas je: %d hod.\n", NTPoffset);

Třetí příklad: čtení float hodnoty

float AD_Rinput__in_user_units;
AD_Rinput__in_user_units = SDS_get_f32(311);
printf("Resistance Measure Input value is: %0.3f \n", AD_Rinput__in_user_units);

Čtvrtý příklad: zápis 32bitové hodnoty bez znaménka

// zapni RELE 1 (zápisem nenulové hodnoty na index [231], viz tabulka)
SDS_set_u32(231, 0xFF);

Samozřejmě musíte pro každý index použít správný typ hodnoty (tzn.: unsigned int \ int \ float). Přesné přiřazení naleznete v tabulce na konci této stránky.

Pozn.: i když například víte, že hodnota může být například jenom 0 nebo 1 (příklad), tak vždy se zapisuje nebo čte všech 32bitů (unsigned int \ int \ float). Nepoužité bity jsou vždy nastaveny na nulu.


Funkce _u64 \ _i64

Princip je identický jako pro _u32 a _i32 funkce.

Vždy se podívejte do tabulky, jaké informace můžete v 64bitové formě dostat; většina jich je pouze ve 32bit formě. To ale nevadí, protože přeci například není problém do proměnné typu uint64_t zapsat 32bitové číslo.


Funkce _a

Funkce pracující s polem dat (SDS_get_a, SDS_set_a) vyžadují oproti ostatním set+get funkcím specifické parametry. Vždy se jedná o ukazatel na pole dat, a o informaci o velikosti tohoto pole.


První příklad: čtení textového parametru

// definujeme si pole o velikosti 32 bajtů; tzn. sem se vleze až 31 znaků plus jeden ukončovací 0x00
char sysLoc[32];

// SDS uloží text z indexu [2] do pole "sysLoc", o maximální velikosti 32 bajtů
SDS_get_a(2, (void *)sysLoc, 32);

// a můžeme se podívat na výsledek (výpis do konzole)
printf("Nastavená system location: %s \n", sysLoc);


Druhý příklad: čtení pole údajů - pouze položky z indexu označeného (a) v tabulce indexů

// definujeme si pole o 8 položkách, které obsahuje prvky typu "unsigned int" (každý tento prvek má velikost: 4 bajty)
unsigned int OPTOvalues[8];
 
// SDS zapíše 8 pozic od indexu [151] do pole OPTOvalues
// maximální velikost zápisu = 8*4 , tzn. 8 položek v poli OPTOvalues, každá o 4 bajtech
SDS_get_a(151, (void *)OPTOvalues, 8 * 4);

// a muzeme pristupovat na jednotlive polozky (jejich obsah je platny vuci okamziku zavolani GET funkce)
if (0 == OPTOvalues[0]) ...

Pro tyto přístupy je potřeba uvést, že blokové čtení funguje jen vždy od prvního indexu pro daný blok indexů.


Na zcela stejném přístupu funguje SDS_set_a() funkce.


Úplné detaily a všechny příklady

Detailní přehled, doplněný o příklady ve FULL-C, naleznete zde: FULL-C: set and get: detailed.


Tabulka

Podle typu každé položky lze použít jen právě tu danou specifickou funkci (_i32\_u32\_f32\_a\_i64\_u64), viz následující tabulka.

Je li také uveden klíč "(a)", lze mimo přístup k jedinému indexu využít blokový přístup pomocí funkce SDS_get_a(), která přečte určený počet indexů za sebou a uloží je do připraveného pole (toho se využívá při blokovém čtení většího počtu za-sebou ležících položek, např. blokové čtení stavu všech optovstupů atd.).


-----------+---------+------+--------------------------------------------------------------------------------------------------------
  index    | i\u\f\a | směr |  popis 
-----------+---------+------+--------------------------------------------------------------------------------------------------------
  0        | u32     |  GET |  firmware PAIRCODE (SDS device master-type identification)
  0        |         |  SET |  n/a (read-only)
-----------+---------+------+--
  1        | u32     |  GET |  count of actually logged-in users (logged-in to SDS web admin)
  1        |         |  SET |  n/a
-----------+---------+------+--
  2        | u32     |  GET |  unique ID for SDS (serial number assigned during manufacturing)
  2        | a       |  GET |  sysLocation (user configured text)
  2        |         |  SET |  n/a
-----------+---------+------+--
  3        | u32     |  GET |  uptime (increased by 1 each every 10msec) (example: 100 = 1 sec)
  3        |         |  SET |  n/a
-----------+---------+------+--
  4        | u32     |  GET |  LOCAL time (NTP UTC Epoch, with GMT-offset and DST-offset applied), value in seconds
  4        |         |  SET |  n/a (read-only)
-----------+---------+------+--
  5        | u32     |  GET |  LOCAL time decomposition = value of DAY (1 through 31)
  5        |         |  SET |  n/a
-----------+---------+------+--
  6        | u32     |  GET |  LOCAL time decomposition = value of MONTH (1 through 12)
  6        |         |  SET |  n/a
-----------+---------+------+--
  7        | u32     |  GET |  LOCAL time decomposition = value of YEAR (full value)
  7        |         |  SET |  n/a
-----------+---------+------+--
  8        | u32     |  GET |  LOCAL time decomposition = value of HOUR (0 through 23)
  8        |         |  SET |  n/a
-----------+---------+------+--
  9        | u32     |  GET |  LOCAL time decomposition = value of MINUTE (0 through 59)
  9        |         |  SET |  n/a
-----------+---------+------+--
  10       | u32     |  GET |  LOCAL time decomposition = value of SECOND (0 through 59)
  10       |         |  SET |  n/a
-----------+---------+------+--
  11       | u32     |  GET |  LOCAL time decomposition = day-of-week number = number of days since Sunday (0 to 6)
  11       |         |  SET |  n/a
-----------+---------+------+--
  12       | u32     |  GET |  SDS device IP address (web admin IP)
  12       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  13..15   |         |  GET |  n/a (reserved)
  13..15   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  16       | u32     |  GET |  network gateway IP address
  16       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  17..19   |         |  GET |  n/a (reserved)
  17..19   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  20       | u32     |  GET |  network IP MASK
  20       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  21..23   |         |  GET |  n/a (reserved)
  21..23   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  24       | u32     |  GET |  Ethernet Link Status
  24       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  25       | u32     |  GET |  Ethernet Link Speed (0, 10 nebo 100)
  25       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  26       | i32     |  GET |  read NTP GMT offset (-11 .. 11) = offset, in hour(s), between UTC and LOCAL time
  26       | i32     |  SET |  set NTP GMT offset (warning: this is not stored to permanent memory - use web admin to store it permanently)
-----------+---------+------+--
  27       | u32     |  GET |  validity of the assigned IP address (0 = SDS does not have any IP address assigned, at the moment)
  27       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  28       | u32     |  GET |  timestamp of last change (assignment) of IP address 
  28       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  29       | u32     |  GET |  state of DHCP client (0 = disabled, OR: enabled = status value of 1 .. 11)
  29       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  30       | u32     |  GET |  DHCP lease time (secs) value
  30       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  31       | u32     |  GET |  MAC[0] (always use only the lowest 8 bits, for each item)
  31       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  32       | u32     |  GET |  MAC[1]
  32       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  33       | u32     |  GET |  MAC[2]
  33       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  34       | u32     |  GET |  MAC[3]
  34       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  35       | u32     |  GET |  MAC[4]
  35       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  36       | u32     |  GET |  MAC[5]
  36       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  37..39   |         |  GET |  n/a (reserved)
  37..39   |         |  SET |  n/a (read-only)
-----------+---------+------+--
  40       | u32     |  GET |  SoC power-up or reset reason (64/128 = read only LSB: 8 bits) (512 = read all 32 bits)
  40       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  41       | a       |  GET |  OEM branding (login web page) [32 chars]
  41       | a       |  SET |  set custom OEM branding (login web page) [32 chars]
-----------+---------+------+--
  42       | a       |  GET |  OEM branding (welcome web page) [128 chars]
  42       | a       |  SET |  set custom OEM branding (welcome web page) [128 chars]
-----------+---------+------+--
  43       | u32     |  GET |  NTP-server IP address
  43       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  44       | u32     |  GET |  NTP-client status (0 = NOT synchronised)
  44       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  45       | u32     |  GET |  UpTime value - units: msec (uptime is constantly counted since then latest SDS FW boot)
  45       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  46       | u32     |  GET |  temperature of SoC - the RAW value (you have to manually recalcutate this raw value to get degC)
  46       | i32     |  GET |  temperature of SoC - already recalculated to degC (SDS does have, and uses, all the required calibration info)
  46       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  48..60   |         |  GET |  n/a (reserved)
  48..60   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  61       | u32     |  GET |  read this to get a 32-bit Random Number (HW RNG)
  61       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  62..63   |         |  GET |  n/a (reserved)
  62..63   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  64       | u32     |  GET |  read this to get a value of an automatic SECOND DOWN-COUNTER (it does decrease its internal value by 1 for each 1 second, down to 0 where it stays, until restarted by writing)
  64       | u32     |  SET |  write this to set/start/restart an automatic SECOND DOWN-COUNTER
-----------+---------+------+--
  65       | u32     |  GET |  get state of the DST automatic (0 = not used) (1 = DST used and DST shift is applied) (2 = DST used but NO shift applied)
  65       | u32     |  SET |  n/a (reserved)
-----------+---------+------+--
  66..77   |         |  GET |  n/a (reserved) 
  66..77   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  78       | u32     |  GET |  SDS HW availability detail (information): 0 = single PWM output / 4 = four PWM outputs
  78       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  79       | u32     |  GET |  SDS HW sub-type (information): 1 = variant "DP" / 0 = basic BIG (no DP)
  79       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  80       | u32     |  GET |  SDS HW sub-type (information): 1 = variant "DS84" / 0 = no DS84
  80       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  81..84   |         |  GET |  n/a (reserved) 
  81..84   |         |  SET |  n/a (reserved)
-----------+---------+------+--
  85       | u32     |  GET |  SDS module type (BIG, BIG2 or STSW) discrimination:  0 = STSW or SMALL / 1 = BIG / 2 = BIG2
  85       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  86       | u32     |  GET |  FC: actual state (running, uploading, failed etc.) of the FULL-C program (0, 1, 2, 4, 8, 16, 32, 64)
  86       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  87       | u32     |  GET |  FC: unique identifier of the actually uploaded FULL-C program
  87       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  88       |         |  GET |  n/a (reserved) 
  88       |         |  SET |  n/a (reserved)
-----------+---------+------+--
  89       | u32     |  GET |  SDS IP-WatchDog: state (0 = OFF)
  89       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  90       | u32     |  GET |  SDS IP-WatchDog: last known RTT (msecs)
  90       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  91       | u32     |  GET |  SDS IP-WatchDog: logical output status
  91       |         |  SET |  n/a (read-only)
-----------+---------+------+--
  92..131  |         |  GET |  n/a (reserved)
  92..131  |         |  SET |  n/a (reserved)
-----------+---------+------+--
  132      | u32     |  GET |  FC: UTC time value, of the last FC-WDG restart of this (same) program (zeroed when a new program is uploaded)
  132      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  133      | u32     |  GET |  FC: UpTime value, of the last FC-WDG restart of this (same) program (zeroed when a new program is uploaded)
  133      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  134      | a       |  GET |  FC: archived text of the last FC error
  134      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  135      | u32     |  GET |  FC: number of FC-WDF restarts of this (same) program (zeroed when a new program is uploaded)
  135      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  136      | u32     |  GET |  FC: total count of all FC program starts, since the SDS boot
  136      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  137      | u32     |  GET |  read an actual SDS CPU cycle counter (number of executed instructions since power-up/reboot), continously wraps around, (1 step = approx 2 nsec)
  137      |         |  SET |  n/a
-----------+---------+------+--
  138      | u32     |  GET |  get SDS internal RTC power-on status (0 = invalid data after powerup in RTC) (1 = RTC data OK and were used on powerup) 
  138      |         |  SET |  n/a
-----------+---------+------+--
  139      | u32     |  GET |  NTP true actual raw epoch-time (secs since Linux Epoch) = clean UTC with *no* GMT nor DST offset applied
  139      |         |  SET |  n/a
-----------+---------+------+--
  140      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:401)
  140      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:401)
-----------+---------+------+--
  141      | a       |  GET |  FC: custom TRAP variable - read (TRAP:402)
  141      | a       |  SET |  FC: custom TRAP variable - write to change (TRAP:402) (note. max 32 characters)
-----------+---------+------+--
  142      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:403)
  142      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:403)
-----------+---------+------+--
  143      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:404)
  143      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:404)
-----------+---------+------+--
  144      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:405)
  144      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:405)
-----------+---------+------+--
  145      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:406)
  145      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:406)
-----------+---------+------+--
  146      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:407)
  146      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:407)
-----------+---------+------+--
  147      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:408)
  147      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:408)
-----------+---------+------+--
  148      | u32     |  GET |  FC: custom TRAP variable - read (TRAP:409)
  148      | u32     |  SET |  FC: custom TRAP variable - write to change (TRAP:409)
-----------+---------+------+--
  149      |         |  GET |  n/a (reserved)
  149      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  150      |         |  GET |  FC: shared-variables access control - read state of the access control
  150      |         |  SET |  FC: shared-variables access control - use this to force a user-login in order to access the shared variables (0 = access without login is enabled)
-----------+---------+------+--
  151..182 | u32 (a) |  GET |  OPTO1..OPTO32 status (warning: 0 = input ACTIVE = with signal) (non-zero = input not active = no signal)
  151..182 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  183      | u32     |  GET |  SDS FW date stamp (or just 0x00000000 for a very old firmware) - use this to verify the features or to ask user to update the firmware to a required newer version
  183      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  184      | u32     |  GET |  FC: information about how this actual running program was started (0 = none) (1 = normal) (2 = fc-wdg or manual restart) (4 = freshly loaded)
  184      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  185      | u32     |  GET |  FC: actual FULL-C WatchDogu (decreasing) timeout counter value, v msec
  185      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  186      | u32     |  GET |  (common) frequency for PWM3 and PWM4 generator (1Hz .. 5MHz)
  186      |         |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
-----------+---------+------+--
  187      | u32     |  GET |  PWM3 duty-cycle percent (0..100 [%])
  187      |         |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
-----------+---------+------+--
  188      | u32     |  GET |  PWM3 HW: direct "pulse" register value
  188      |         |  SET |  n/a
-----------+---------+------+--
  189      | u32     |  GET |  PWM4 duty-cycle percent (0..100 [%])
  189      |         |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
-----------+---------+------+--
  190      | u32     |  GET |  PWM4 HW: direct "pulse" register value
  190      |         |  SET |  n/a
-----------+---------+------+--
  191      | u32     |  GET |  (common) frequency for PWM1 and PWM2 generator (1Hz .. 5MHz)
  191      |         |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
-----------+---------+------+--
  192      | u32     |  GET |  PWM1 duty-cycle percent (0..100 [%])
  192      |         |  SET |  N/A (use SDS_PWMx_setDutyAsPercents)
-----------+---------+------+--
  193      | u32     |  GET |  PWM1 HW: direct "pulse" register value
  193      |         |  SET |  N/A 
-----------+---------+------+--
  194      | u32     |  GET |  reserved
  194      |         |  SET |  N/A
-----------+---------+------+--
  195      | u32     |  GET |  reserved
  195      |         |  SET |  N/A
-----------+---------+------+--
  196..228 | u32 (a) |  GET |  RELAY1..RELAY32 - "who" controls this output
  196..228 | u32     |  SET |  RELAY1..RELAY32 - (0 = manual = user via web) (2 = FULL-C) (4 = SDS IPwdg)
-----------+---------+------+--
  229..230 |         |  GET |  n/a (reserved)
  229..230 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  231..262 | u32 (a) |  GET |  RELAY1..RELAY32 - output status (0 = off)
  231..262 | u32     |  SET |  RELAY1..RELAY32 - output status control (0 = off) (!0 = coil activated)
-----------+---------+------+--
  263..265 |         |  GET |  n/a (reserved)
  263..265 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  266..297 | a       |  GET |  RELAY1..RELAY32 - identification/name (text, see webadmin)
  266..297 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  298..300 |         |  GET |  n/a (reserved)
  298..300 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  301      | u32     |  GET |  status (log0/log1) of GPIO-TOPBOARD pin
  301      | u32     |  SET |  control the GPIO-TOPBOARD pin value (if direction is set to output)
-----------+---------+------+--
  302      | u32     |  GET |  direction (in/out) of GPIO-TOPBOARD pin
  302      | u32     |  SET |  control the GPIO-TOPBOARD pin direction (input or output)
-----------+---------+------+--
  303..310 |         |  GET |  n/a (reserved)
  303..310 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  311..342 | f32 (a) |  GET |  AD: recalculated value (float) of A/D input
  311..342 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  343..374 | a       |  GET |  AD: input identification / name (text)
  343..374 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  375..406 | a       |  GET |  AD: input unit name (text)
  375..406 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  407..427 |         |  GET |  n/a (reserved)
  407..427 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  428      | u32     |  GET |  AD: user-selected type of the OpAmp chip (HW SDS) (0 = AD) (9 = LMV) 
  428      |         |  SET |  n/a (read-only) (configuration to be done via web admin) - note. this must match the HW
-----------+---------+------+--
  429      | u32     |  GET |  AD: raw value of Vbatt (raw ADC value). To convert use: Vbatt = (raw * 3.3)/2048 (result in Volts)
  429      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  430      | u32     |  GET |  AD: value of VrefInt in miliVolts (typical value: 3300)
  430      |         |  SET |  n/a (read-only)
-----------+---------+------+--
  431..438 | u32 (a) |  GET |  AD: raw value of A/D input in 12bits (0..4095) - for all SDS variants (64, 128 and 512)
  431..438 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  439..446 | u32 (a) |  GET |  AD: raw value of A/D input in 16bits (0..65535) - available only for the 512 SDS variant
  439..446 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  447..462 |         |  GET |  n/a (reserved)
  447..462 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  463..469 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [0]
  463..469 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  470..476 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [1]
  470..476 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  477..483 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [2]
  477..483 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  484..490 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [3]
  484..490 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  491..497 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [4]
  491..497 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  498..504 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [5]
  498..504 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  505..511 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [6]
  505..511 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  512..518 | f32 (a) |  GET |  AD: calibration constants (F0..F6) for A/D input nr. [7]
  512..518 |         |  SET |  n/a (read-only)
-----------+---------+------+--
  519..991 |         |  GET |  n/a (reserved)
  519..991 |         |  SET |  n/a (reserved)
-----------+---------+------+--
  992      | u32     |  GET |  UTC timestamp (localtime) of the moment, when local clock gets to 23:59:59 (= last second of this day)
  992      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  993      | u32     |  GET |  UTC timestamp (localtime) marking a start of yesterday (as a moment since when we capture a new record) (or 0 = if there is no record for yesterday)
  993      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  994      | u32     |  GET |  UTC timestamp (localtime) marking a start of today (or a moment of SDS power on), since when a today's record is captured
  994      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  995      | u32     |  GET |  count of seconds, during yesterday, capturing the total length of T0 tariff activity (captures the timespan since [993] to [994])
  995      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  996      | u32     |  GET |  count of seconds, during yesterday, capturing the total length of T1 tariff activity (captures the timespan since [993] to [994])
  996      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  997      | u32     |  GET |  count of seconds since the moment of [994] (start of tady) until NOW; counting the duration of T0 tariff being active
  997      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  998      | u32     |  GET |  count of seconds since the moment of [994] (start of tady) until NOW; counting the duration of T1 tariff being active
  998      |         |  SET |  n/a (reserved)
-----------+---------+------+--
  999      | u32     |  GET |  immediate state of the global Tariff Input (0 = T0 is active right now) (!0 = T1 is active right now)
  999      | u32     |  SET |  "manual" control of the global Tariff Input (write/control enabled only if the feature is set in web admin - control set to FULL-C)
-----------+---------+------+--
 1000..1031| u32 (a) |  GET |  [S0-input] aktuální údaj počítadla pro T0
 1000..1031| u32     |  SET |  [S0-input] aktuální údaj počítadla pro T0
-----------+---------+------+--
 1032..1063| u32 (a) |  GET |  [S0-input] aktuální údaj počítadla pro T1
 1032..1063| u32     |  SET |  [S0-input] aktuální údaj počítadla pro T1
-----------+---------+------+--
 1064..1095| u32 (a) |  GET |  [S0-input] vzdálenost (msec) mezi impulsy
 1064..1095|         |  SET |  n/a (read-only)
-----------+---------+------+--
 1096..1127| u32 (a) |  GET |  [S0-input] čas (msec) od posledního impulsu
 1096..1127|         |  SET |  n/a (read-only)
-----------+---------+------+--
 1128..1159| u32     |  GET |  [S0-input] rozdíl počítadla T0 za včerejší den (tj. od [993] do [994])
 1128..1159|         |  SET |  n/a (reserved)
-----------+---------+------+--
 1160..1191| u32     |  GET |  [S0-input] rozdíl počítadla T1 za včerejší den (tj. od [993] do [994])
 1160..1191|         |  SET |  n/a (reserved)
-----------+---------+------+--
 1192..1223| u32     |  GET |  [S0-input] rozdíl počítadla T0 dnes od času [994] (od začátku dnešního dne) do teď
 1192..1223|         |  SET |  n/a (reserved)
-----------+---------+------+--
 1224..1255| u32     |  GET |  [S0-input] rozdíl počítadla T1 dnes od času [994] (od začátku dnešního dne) do teď
 1224..1255|         |  SET |  n/a (reserved)
-----------+---------+------+--
 1256..1499|         |  GET |  n/a (reserved)
 1256..1499|         |  SET |  n/a (reserved)
-----------+---------+------+--
 1500..1531| a       |  GET |  [S0-input] konfigurační struktura
 1500..1531| a       |  SET |  n/a (reserved)
-----------+---------+------+--
 1532..1999|         |  GET |  n/a (reserved)
 1532..1999|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2000..2063| u32 (a) |  GET |  [1-W BUS (A)] device status
 2000..2063|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2100..2163| a       |  GET |  [1-W BUS (A)] konfigurační struktura
 2100..2163|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2200..2263| i32 (a) |  GET |  [1-W BUS (A)] přečtená hodnota (základní)
 2200..2263|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2300..2363| i32 (a) |  GET |  [1-W BUS (A)] přečtená hodnota (doplňková)
 2300..2363|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2364..2497|         |  GET |  n/a (reserved)
 2364..2497|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2498      | i32     |  GET |  výsledek posledního rescanu OneWire sběrnice (A)
 2498      |         |  SET |  n/a
-----------+---------+------+--
 2499      | u32     |  GET |  počet nalezených OneWire zařízení na sběrnici (A)
 2499      |         |  SET |  n/a
-----------+---------+------+--
 2500..2563| u32 (a) |  GET |  [1-W BUS (B)] device status
 2500..2563|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2600..2663| a       |  GET |  [1-W BUS (B)] konfigurační struktura
 2600..2663|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2700..2763| i32 (a) |  GET |  [1-W BUS (B)] přečtená hodnota (základní)
 2700..2763|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2800..2863| i32 (a) |  GET |  [1-W BUS (B)] přečtená hodnota (doplňková)
 2800..2863|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2864..2995|         |  GET |  n/a (reserved)
 2864..2995|         |  SET |  n/a (reserved)
-----------+---------+------+--
 2996      | i32     |  GET |  výsledek posledního rescanu OneWire sběrnice (B)
 2996      |         |  SET |  n/a
-----------+---------+------+--
 2997      | u32     |  GET |  počet nalezených OneWire zařízení na sběrnici (B)
 2997      |         |  SET |  n/a
-----------+---------+------+--
 2998      | u32     |  GET |  general 1-W Master Chip status: 1 = detecting; 2 or 4 = failure; 8 = working; 16 = disabled by user
 2998      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 2999      | u32     |  GET |  general 1-W Master Chip status: detection-retry countdown (*10msec)
 2999      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3000      |         |  GET |  n/a (reserved)
 3000      |         |  SET |  n/a (reserved)
-----------+---------+------+--
 3001      | a       |  GET |  custom 24-byte string (readable via SNMP .8.80)
 3001      | a       |  SET |  write
-----------+---------+------+--
 3002      | a       |  GET |  custom 24-byte string (readable via SNMP .8.81)
 3002      | a       |  SET |  write
-----------+---------+------+--
 3003      | a       |  GET |  custom 16-byte string (readable via SNMP .8.82)
 3003      | a       |  SET |  write
-----------+---------+------+--
 3004      | a       |  GET |  custom 16-byte string (readable via SNMP .8.83)
 3004      | a       |  SET |  write
-----------+---------+------+--
 3005      | a       |  GET |  custom 16-byte string (readable via SNMP .8.84)
 3005      | a       |  SET |  write
-----------+---------+------+--
 3006..3799|         |  GET |  n/a (reserved)
 3006..3799|         |  SET |  n/a (reserved)
-----------+---------+------+--
 3800      | u32     |  GET |  PVD Active - (nonzero:) main power failure detected
 3800      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3801      | u32     |  GET |  PVD Was Active - this flag is only cleared by reading this index 3801
 3801      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3802..3849|         |  GET |  n/a (reserved)
 3802..3849|         |  SET |  n/a (reserved)
-----------+---------+------+--
 3850      | u32     |  GET |  SD Card - fully mounted and useable
 3850      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3851      | i32     |  GET |  latest file i/o error code
 3851      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3852      | u32     |  GET |  SD Card - Block Size in bytes (typically 512)
 3852      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3853      | u32     |  GET |  SD Card - CardType
 3853      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3854      | u32     |  GET |  SD Card - CID - ProductSN
 3854      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3855      | u32     |  GET |  statistic counter: SDcard: all init attempts (= successful + failed)
 3855      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3856      | u32     |  GET |  statistic counter: SDcard: failed init attempts
 3856      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3857      | u32     |  GET |  SD Card - Total Sector Count in KiB (size of the card)
 3857      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3858      | u32     |  GET |  statistic counter: SDcard: sector reads
 3858      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3859      | u32     |  GET |  statistic counter: SDcard: sector writes
 3859      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3860      | u32     |  GET |  statistic counter: SDcard: sector r/w failures
 3860      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3861      | u32     |  GET |  statistic counter: number of opened files
 3861      |         |  SET |  n/a (read-only)
-----------+---------+------+--
 3862..3999|         |  GET |  n/a (reserved)
 3862..3999|         |  SET |  n/a (reserved)
-----------+---------+------+--
 4000..4099| i32     |  GET |  Shared Variables: S00 through S99 - read
 4000..4099| i32     |  SET |  Shared Variables: S00 through S99 - write
-----------+---------+------+--
 4100..4199| u32     |  GET |  Shared Variables: U00 through U99 - read
 4100..4199| u32     |  SET |  Shared Variables: U00 through U99 - write
-----------+---------+------+--
 4200..4299| f32     |  GET |  Shared Variables: F00 through F99 - read
 4200..4299| f32     |  SET |  Shared Variables: F00 through F99 - write
-----------+---------+------+--
 4300..4399| a       |  GET |  Shared Variables: T00 through T99 - read
 4300..4399| a       |  SET |  Shared Variables: T00 through T99 - write
-----------+---------+------+--
 4400..4999|         |  GET |  n/a (reserved)
 4400..4999|         |  SET |  n/a (reserved)
-----------+---------+------+--
 5000..5127| u/i/f 32|  GET |  BackUp-RAM (FC version 0x08+) - write
 5000..5127| u/i/f 32|  SET |  BackUp-RAM (FC version 0x08+) - read
-----------+-+-------+------+--
 5128..11118 |       |  GET |  n/a (reserved)
 5128..11118 |       |  SET |  n/a (reserved)
-----------+-+-------+------+--
 11199     | u/i 32  |  GET |  FW support for MQTT-c (0 == NOT present)
 11199     |         |  SET |  n/a
-----------+---------+------+--
 12200     | i32     |  GET |  work progress (and result) of mqtt_connect()
 12200     |         |  SET |  n/a 
-----------+---------+------+--
 12201     | i32     |  GET |  "CONNACK Connect Return" - result of mqtt_connect()
 12201     |         |  SET |  n/a 
-----------+---------+------+--
 12202     | i32     |  GET |  result of: mqtt_publish(), mqtt_subscribe(), mqtt_unsubscribe_index(), mqtt_unsubscribe_name()
 12202     |         |  SET |  n/a 
-----------+---------+------+--
 12203     | i32     |  GET |  MQTT protocol error counter (informative)
 12203     |         |  SET |  n/a 
-----------+--+------+------+--
 12204..12208 |      |  GET |  n/a (reserved)
 12204..12208 |      |  SET |  n/a (reserved)
-----------+--+------+------+--
 12209     | i32     |  GET |  Subscribe Table - total number of available rows
 12209     |         |  SET |  n/a 
-----------+---------+------+--
 12210     | a       |  GET |  latest received Topic Name (sent from broker)
 12210     |         |  SET |  n/a 
-----------+--+------+------+--
 12211..12241 | a    |  GET |  Subscribe Table: Topic Name for each table row
 12211..12241 |      |  SET |  n/a
--------------+------+------+--
 12242..12249 |      |  GET |  n/a (reserved)
 12242..12249 |      |  SET |  n/a
-----------+--+------+------+--
 12250     | a       |  GET |  latest received Value (sent from broker)
 12250     |         |  SET |  n/a 
-----------+--+------+------+--
 12251..12281 | a    |  GET |  Subscribe Table: actual Value for each table row
 12251..12281 |      |  SET |  n/a
--------------+------+------+--
 12282..12289 |      |  GET |  n/a (reserved)
 12282..12289 |      |  SET |  n/a
-----------+--+------+------+--
 12290     | u32     |  GET |  timestamp for the latest received data (Topic) from brokem
 12290     |         |  SET |  n/a 
-----------+--+------+--+---+--+--
 12291..12321 | u32 (a) |  GET |  Subscribe Table: timestamp for the last Value update, for each table row
 12291..12321 |         |  SET |  n/a
--------------+------+--+---+--+--
 12322..12398 |      |  GET |  n/a (reserved)
 12322..12398 |      |  SET |  n/a (reserved)
-----------+--+------+------+--
 12399     | u/i 32  |  GET |  FW support for MODBUS-TCP-c (0 == NOT present)
 12399     |         |  SET |  n/a 
-----------+---------+------+--
 12400     | i32     |  GET |  work progress (and result) of modbus_tcp_connect()
 12400     |         |  SET |  n/a 
-----------+---------+------+--
 12401     | i32     |  GET |  progress/result for function 0x01 - modbus_tcp_read(uid, 0x01, ...);
 12401     |         |  SET |  n/a 
-----------+---------+------+--
 12402     | i32     |  GET |  progress/result for function 0x02 - modbus_tcp_read(uid, 0x02, ...);
 12402     |         |  SET |  n/a 
-----------+---------+------+--
 12403     | i32     |  GET |  progress/result for function 0x03 - modbus_tcp_read(uid, 0x03, ...);
 12403     |         |  SET |  n/a 
-----------+---------+------+--
 12404     | i32     |  GET |  progress/result for function 0x04 - modbus_tcp_read(uid, 0x04, ...);
 12404     |         |  SET |  n/a 
-----------+---------+------+--
 12405     | i32     |  GET |  progress/result for function 0x05 - modbus_tcp_writesingle(uid, 0x05, ...);
 12405     |         |  SET |  n/a 
-----------+---------+------+--
 12406     | i32     |  GET |  progress/result for function 0x06 - modbus_tcp_writesingle(uid, 0x06, ...);
 12406     |         |  SET |  n/a 
-----------+--+------+------+--
 12407..12414 |      |  GET |  n/a (reserved)
 12407..12414 |      |  SET |  n/a (reserved)
-----------+--+------+------+--
 12415     | i32     |  GET |  progress/result for function 0x0F - modbus_tcp_writemultiple(uid, 0x0F, ...);
 12415     |         |  SET |  n/a 
-----------+---------+------+--
 12416     | i32     |  GET |  progress/result for function 0x10 - modbus_tcp_writemultiple(uid, 0x10, ...);
 12416     |         |  SET |  n/a 
-----------+--+------+------+--
 12417..12462 |      |  GET |  n/a (reserved)
 12417..12462 |      |  SET |  n/a (reserved) 
-----------+--+------+------+--
 12463     | u/i 32  |  GET |  latest Unit Identifier value written to MBAP header (msg TX to server)
 12463     |         |  SET |  n/a 
-----------+---------+------+--
 12464     | u/i 32  |  GET |  latest Transaction Identifier value written to MBAP header (msg TX to server)
 12464     |         |  SET |  n/a 
-----------+---------+------+--
 12465     | u/i 32  |  GET |  timestamp of the latest received message
 12465     |         |  SET |  n/a 
-----------+---------+------+--
 12466     | u/i 32  |  GET |  a count of received items inside the latest received message
 12466     |         |  SET |  n/a 
-----------+---------+------+--
 12467     | u/i 32  |  GET |  latest received Unit Identifier value (inside incoming MBAP header)
 12467     |         |  SET |  n/a 
-----------+---------+------+--
 12468     | u/i 32  |  GET |  latest received Transaction Identifier value (inside incoming MBAP header)
 12468     |         |  SET |  n/a 
-----------+---------+------+--
 12469     | u/i 32  |  GET |  an address of the first coil/input/register item (maps to a value in 12470)
 12469     |         |  SET |  n/a 
-----------+--+------+--+---+--+--
 12470..12719 | i32 (a) |  GET |  received values (latest received message contents)
 12470..12719 |         |  SET |  n/a 
--------------+---------+------+--


Poznámky

Položky obsahující: "konfigurační struktura" vyžadují dostatečně velký prostor pro uložení výsledku (při zavolání SDS_get_a() funkce). V takovém případě se do vámi určené cílové oblasti ukládá celý "struct" který obsahuje všechny potřebné údaje patřící pod danou položku (názvy, hodnoty, atd.). Pro detaily je nejlépe podívat se přímo na aktuální příklady, které přesně popisují postup pro každý typ takové struktury - a vysvětlují tuto poznámku svým kódem.

Indexy označené jako (a) lze blokově číst (pozor, označené specificky jako "a v závorce"). Vždy ale lze blokové čtení (tj. čtení více indexů najednou, za sebou, v rámci povoleného rozsahu) provést pouze od prvního indexu v bloku (ne od dalších v bloku). Příklad: indexy 1000 až 1031 lze přečíst jako jeden souvislý blok, když se začne číst od prvního indexu v bloku (tj. 1000). Počet následně čtených indexů se udává dalším parametrem při volání SDS_get_a() funkce. Pokud se pokusíte číst blok indexů ne od začátku bloku, čtení selže - pokud blok indexů začíná na 1000 tak musíte požádat o čtení od indexu 1000, přičemž začátek od 1001 a výše selže.

BackUp-RAM funkce je dostupná je pro firmware který poskytuje verzi FULL-C o hodnotě 0x08 nebo novější. BackUp-RAM je sada 32-bit hodnot, které lze zapisovat a číst, a které jsou (především) uchovány v paměti, která je zálohovaná baterií (tzn. drží hodnotu i po výpadku napájení, tak dlouho než se baterie vybije). Výhodou BackUp-RAM oproti DF je možnost přímého přístupu a rychlosti (naopak DF vyžaduje čtení a zápis celých stránek).

Sdílené proměnné je potřeba nejprve definovat, aby je šlo použít, a aby k nim šlo přistupovat přes set/get funkce - viz specifická stránka na této wiki.

Detaily (významy hodnot) pro položky MQTT klient a MODBUS-TCP klient jsou rozepsány na příslušných odpovídajících stránkách na této wiki.


Vysvětlení položek

V tabulce výše jsou uvedeny informace, které naleznete na jednotlivých indexech. Nicméně popisy uvedené v této tabulce jsou velmi zkrácené, a je k nim tedy potřeba mnohem širší vysvětlení. To naleznete na dalších stránkách v rámci této wiki, nebo se nás rovnou zeptejte (přes forum).


Vstupy pro měření napětí

Detaily k A/D vstupům jsou uvedeny zde. Pro psaní programu je důležité mapování indexu na jednotlivé vstupy, viz tabulka.