LUA-Skript API-Funktion Schnittstelle

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

LUA-Skript API-Funktion Schnittstelle

Dieses Dokument gilt für die M-Serie, W-Serie, X-Serie, F-Serie (Firmware-Version > = V4.2.401.0). Screen und control in der API-Funktion werden als Bildschirm-ID und Bildschirm-ID angegeben, wobei jede API nicht einmal beschrieben wird

1.1 Control Attribute Class

1.1.1 change_screen(screen)

Wechseln zum angegebenen Bildschirm

1.1.2 change_child_screen (screen)

Wechseln zum Unterbildschirm, z. B. Dialogfeld

1.1.3 change_screen_effect (screen, effect)

Wechseln Sie zum angegebenen Bildschirm und verwenden Sie die Animationseffekte

  • Effect: Animations-Effekt. 0-Keine Animation, 1 - von links nach rechts, 2 - von rechts nach links, 3 - von oben nach unten, 4 - von unten nach oben, 5 - verblasst

1.1.4 set _ slide _ screen (slide, round, start_screen, end_screen)

Schieben des Fensters festlegen

  • slide: 0 - Schieben verhindert, 1 - Schieben nach rechts, 2 - Schieben nach oben und unten
  • round: 1 - Schleife-Modus, die Endseite kann auf die Startseite rutschen
  • start_screen: Startbildschirm
  • end _ screen: Abschlussbildschirm

1.1.5 set _ button _ notify _ release ()

Set-Button Entsperren Sie den Benachrichtigungsmodus, Sie können das Fenster über die Taste schieben

1.1.6 get_current_screen ()

Erhalten Sie die aktuelle Bildschirm-ID

1.1.7 set_value (screen, control, value)

Setzen Sie den Wert des Steuerelementes

  • value: Steuerelement Wert

Taste Steuerelement: value=1 - drücken, 0 - springen

Textsteuerelement: value - Ganzzahl oder Dezimalzahl

Es ist auch möglich, Fortschrittsleiste, Schieberegler, Messgeräte, Schieberegler usw.

1.1.8 get_value (screen, control)

Abrufen von Steuerelementen, Tasten, Text, Fortschrittsleiste, Schieberegler, Messgeräte usw.

1.1.9 set_visiable (screen, control, visiable)

Einstellungen für die Sichtbarkeit des Steuerelementes

  • visiable: 0 - versteckt, 1 - angezeigt

1.1.10 set_enable(screen, control, enable)

Einstellungen für die Berührbarkeit des Steuerelements

  • ermöglichen: 0 - Berührung verhindern, 1 - Berührung aktivieren

1.1.11 set_fore_color (screen, control, color)

Legen Sie die Vordergrundfarbe des Steuerelements fest, z. B. Textfarbe des Steuerelements, Anzeigefarbe für die Fortschrittsleiste

  • color: RGB-Wert, 2 Byte, RGB565

1.1.12 set_back_color(screen, control, color)

Einstellungen für die Hintergrundfarbe eines Steuereinstruments, z. B. Text-Hintergrundfarbe, Fortschrittsleiste-Hintergrundfarbe

  • color: RGB-Wert, 2 Byte, RGB565

1.1.13 set_text(screen, control, text)

Einrichten von Steuerelementen Anzeigeinhalte (Zeichenfolge), Textsteuerelementen, QR-Code - Steuerelemente usw.

  • text: String-Typ

1.1.14 set_text_roll(screen, control, speed)

Text-Steuerelement von rechts nach links scrollen Geschwindigkeit

  • Geschwindigkeit: wie viele Pixel pro Sekunde. Setze auf 0 Stoppt das Scrollen

1.1.15 set_text_flicker (screen, control, cycle)

Setze den Blinkerzeitraum des Textsteuerelements

  • cycle: Blinkerzeitraum in 10ms. Setze auf 0 Stoppt das Blitzen

1.1.16 get _ text(screen, control)

Abrufen von Steuerungszeichenfolgen-Inhalt (String), Text-Steuerelement, QR-Code - Steuerelement usw.

1.1.17 set_options (screen, control, options)

Setzen Sie den Inhalt des Schiebe-Auswahl - Steuerelements

  • options: Optionsinhalt, Zeichenfolgenformat, jeweils durch ein Semikolon ";" getrennt

Beispiel: set_options (screen, control, ' Option 1; Option 2; Option 3;')

1.1.18 set_screen_range(screen, control, start_screen, end_screen, round)

Schiebenmodus für Unterbildschirme-Fenster, unterstützt von der W-Serie, nicht von der F-Serie, M-Serie

  • start _ screen: Startbildschirm
  • end_screen: Endbild
  • round:1 Schleife-Modus, die Endseite kann auf die Startseite gleiten

1.1.19 play_animation(screen, control)

Animationssteuerelemente einstellen Wiedergabe

1.1.20 stop_animation(screen, control)

Animationssteuerelemente einstellen Stopp

1.1.21 set_history_graph_value(screen, control, channel0,..., Kanal7)

legt den Kanalwert der Geschichtekurve fest, füllen Sie den Parameter

  • channe0: Wert von Kanal0
  • …
  • channe7: Wert von Kanal7

abhängig von der Anzahl der Kanäle aus: Set _ History _ Graph _ Value (screen, control, 1,2,3,4)

1.1.22 set_history_graph_direction (screen, control, direction)

Setzen Sie die Aktualisierungsrichtung für die Verlaufkurve fest, Standardmäßig von rechts nach links

  • direction: 0 - von rechts nach links, 1 - von links nach rechts

1.1.23 set_scroll_position(screen, control, mode)

Legen Sie die Seite für die Verlaufkurve fest

  • mode: Seite umdrehen. 2-Nächste Seite, 3 - Vorherige Seite, 4 - Endseite, 5 - Startseite

1.2 Aufzeichnungssteuerung

1.2.1 record_set_event(screen, control, event)

Alarmtyp - Alarm auslöst

  • eventid: Alarm-ID - Auflösung im Datensteuerelement

1.2.2 record_reset_event(screen, control, event)

Alarmtyp - Alarm auslöst

  • eventid: Verknüpfung der Alarm-Auflösungs - ID im Datensatzsteuerelement des Alarmtypes

1.2.3 record_add (screen, control, record)

Hinzufügen eines Datensatzes am Ende

  • record: record als Zeichenfolge
例如:record_add(screen,control, “item1;item2;item3;”)

1.2.4 record_insert (screen, control, position, record)

Einfügen eines Datensatzes an der angegebenen Stelle

  • position: Einfügen eines Standortindex
  • record: record als Zeichenfolge

1.2.5 record_clear(screen, control)

Aufzeichnungsdaten löschen

1.2.6 record _ setoffset (screen, control, offset)

Setzen Sie die Position der Scroll-Anzeige

  • offset Der aktuelle Index

1.2.7 record_get_count(screen, control)

Abrufen der Anzahl der Datensätze

例如:local recordCnt = record_get_count(0, 1) —假设画面0、控件1位数据记录控件

1.2.8 record_read(screen, control, position)

Lies einen Datensatz und gibt die Zeichenfolge

  • position zurück: Zeilenummer, die gelesen werden soll. Der Index beginnt mit 0, wobei 0 die erste Zeile ist

1.2.9 record_modify (screen, control, position, record)

Einen Datensatz ändern

  • position: Zeilenummer, die geändert werden muss, Index beginnt mit 0, 0 ist die erste Zeile
  • record: Neue Änderungen

1.2.10 record_delete(screen, control, position)

Einen Datensatz löschen.

  • Position: Die Zeilennummer, die gelöscht werden muss. Der Index beginnt mit 0 und 0 ist die erste Zeile

1.2.11 record_select(screen, control, position)

Wählen Sie einen Datensatz

  • Position: Die Zeilenummer, die ausgewählt werden muss. Index beginnt mit 0 und 0 ist die erste Zeile

1.2.12 record_export(screen, control)

Exportieren von Datensätzen auf eine SD-Karte / USB-Stick

1.3 Häufige Rückruffunktionen

1.3.1 on_init ()

Diese Callback-Funktion wird sofort aufgerufen, nachdem das System die LUA-Skriptdatei geladen hat, und wird normalerweise verwendet, um Initialisierungsvorgänge durchzuführen.

1.3.2 on_systick()

Das System ruft diese Rückruffunktion automatisch alle 1 Sekunde auf.

1.3.3 on_control_notify(screen, control, value)

Diese Rückruffunktion wird ausgeführt, nachdem der Benutzer das Steuerelement modifiziert hat. Klicken Sie auf Schaltfläche Steuerelemente, ändern Sie Textsteuerelemente, ändern Sie die Schieberleiste wird dieses Steuerelement auslösen

  • value: für den numerischen Wert Typ, wenn Sie den Textsteuerelement String-Wert erhalten müssen, verwenden Sie get_text(screen, control)

1.3.4 on_screen_change(screen)

Wenn der Bildschirm wechseln muss, führen Sie diese Rückruf-Funktion aus, Bildschirm ist das Zielbildschirm.

Beachten Sie, dass diese Funktion intern change_screen aufruft und nicht verschachtelt ist, um on_screen_change auszuführen.

1.3.5 on_press(state, x, y)

Diese Rückruffunktion wird ausgeführt, wenn ein Benutzer auf einen Touchscreen klickt.

  • state: Touch-Zustand, 0 - Loslassen, 1 - Drücken, 2 - Drücken fortgesetzt
  • x: für Touch-X - Koordinaten
  • y: für Touch-Y - Koordinaten

1.3.6 on_usb_inserted(driver)

Ausführen dieser Rückruffunktion beim Einfügen eines USB-Sticks.

  • Dirver: Schriftzeichen für die USB-Laufwerke

1.3.7 on_usb_removed()

Ausführen dieser Callback-Funktion beim Ausziehen des USB-Sticks

1.3.8 on_sd_inserted(dir)

Benachrichtigung zum Einfügen der SD-Karte

  • dir: Schriftpfade

1.3.9 on_sd_removed()

Benachrichtigung zum Ausziehen der SD-Karte

1.3.10 on_screen_sliding (screen, control)

wird verwendet, um die Bildschirm-ID des Ziels zu bestimmen, wenn der Finger gleitet, unterstützt von der W-Serie, nicht von der F-Serie, M-Serie unterstützt

gibt die Bildschirm-ID des Ziels zurück, left, right, up, down, 4 Parameter, die Seite ID, links, rechts, oben und unten angeben, wenn -1, die Richtung des Gleitens ist nicht zulässig

  • screen: aktueller Bildschirm
  • control: Aktuelle Seite, über die die Steuerelement-ID

1.4 Zeichnungsfunktion

1.4.1 on_draw(screen)

Wenn der Anzeigeinhalt der Schnittstelle aktualisiert werden muss, ruft das System diese Funktion automatisch auf, und der Benutzer fügt benutzerdefinierte Zeichnungsvorgänge in diese Funktion hinzu. Der vom Benutzer gezeichnete Inhalt überlagert sich über das Bildinhaltssteuerung. Diese Funktion ist ein System-Rückruf - Funktion, Benutzer nicht direkt aufrufen.

Diese Funktion wird unter folgenden Umständen ausgelöst:

  • Die Schnittstelle verfügt über Animationswiedergabe, Videowiedergabe, dynamische Aktualisierung der RTC-Zeitanzeige
  • Benutzeroperation des Bildschirmsteuerelements
  • Aktualisierung des Steuerelements durch LUA-Skripte oder Serien-Befehle
  • Durch Ausführen von redraw

Kurz gesagt, jede Änderung an der Schnittstelle wird diese Rückruffunktion ausgelöst.

1.4.2 on_pre_draw(screen)

Benutzer zeichnen Inhalte in der unteren Ebene des Bildes, das aktuelle Bild muss transparent und ohne Hintergrund gezeichnet werden

Relative Beschreibung oben

1.4.3 redraw ()

Senden Sie eine Neuaufforderung und lösen Sie die Ausführung von on_draw aus

1.4.4 screen_shoot(filename, x, y, width, height, quality)

Abfangen des Bildschirmfensters und speichern Sie ihn an den angegebenen Dateipfad. W-Serie unterstützt, F-Serie, M-Serie nicht unterstützt

  • filename: Bilddatei-Speicherpfad
  • x: Startpunkt des Screenshots x Koordinaten
  • y: Startpunkt des Screenshots y Koordinaten
  • width: Die Breite des Screenshots
  • height: Höhe des Screenshots
  • quality: JPEG-Bildqualität, Standard 95

Beispiel: screen_shoot ('b:/shoot.jpg', 0,0,480,272, 95)

1.4.5 set_pen_color(color)

Einstellung der Farbe des Pinsels, RGB565, zum Angeben der Farbe von Linien, Rechtecken, Kreisen usw.

  • color: RGB565 Farbwert

1.4.6 draw_line(x0, y0, x1, y1, width)

Zeichnen Sie gerade Linie

  • x0, y0: Koordinaten des Anfangspunkts
  • x1, y1: Koordinaten des Endpunkts
  • width: Die Stärke der Linien, 1 bis 10

1.4.7 draw_rect(x0, y0, x1, y1, fill)

Rechteck zeichnen

  • x0, y0: Koordinaten der oberen linken Ecke
  • x1, y1: Koordinaten der unteren rechten Ecke
  • 0 nicht gefüllt, 1 gefüllt

1.4.8 draw_rect_alpha (x0, y0, x1, y1, alpha)

Zeichnet ein durchsichtiges Rechteck, nicht unterstützt von der F-Serie

  • x0, y0: Links-oben - Koordinaten
  • x1, y1: Rechts-oben - Koordinaten
  • alpha: Transparenz 0 Volltransparent ~ 255 undurchsichtig

1.4.9 draw_circle(x, y, r, fill)

Kreise zeichnen

  • x, y: Zentrum des Kreises
  • r: Radius des Kreises
  • fill: 0 Nicht gefüllt, 1 gefüllt

1.4.10 draw_ellipse(x0, y0, x1, y1, fill)

Zeichnen einer Ellipse

  • x0, y0: Links-oben - Koordinaten
  • x1, y1: Rechts-oben - Koordinaten
  • fill: 0 Nicht gefüllt, 1 gefüllt

1.4.11 load_image (image_id, frame_id)

Lade das angegebene Bild in den Speicher, normalerweise in on_init verwendet, Opfer der Bootsgeschwindigkeit, aber die Ausführung verlässlicher. W-Serie unterstützt, F, M-Serie nicht unterstützt

  • image_id: Bild-Ressource - ID
  • frame_id: entsprechendes Symbol, kann die Frame-ID festlegen, andere Bilder fixiert auf 0

1.4.12 draw_image src (image_id, frame_id, dstx, dsty, width, height, srx, srcy)

Zeichnen von Bildern

  • image_id: ID der Bildressource
  • frame_id: entsprechendes Symbol, kann die FrameID festlegen, andere Bilder werden auf 0 festgelegt
  • dstx: Bild zeigt X-Koordinaten an
  • dsty: Bildanzeige Y-Koordinaten
  • width: Bildanzeigebreite
  • height: Bildanzeigehöhe
  • srcx: Bildzerschnitt X-Koordinaten
  • srcy: Y-Koordinaten

1.4.13 draw_image_file(filename, dstx, dsty, width, height, srcx, srcy)

Zeichnen Sie Bilder, diese Methode wird nicht zwischengespeichert, weniger effizient, unterstützt von der W-Serie, nicht von der F-Serie, M-Serie

  • filename: Bilddateien, Unterstützung für JPEG / PNG
  • dstx: X-Koordinaten für Bilddarstellung
  • dsty: Y-Koordinaten für Bilddarstellung
  • width: Bilddarstellungsbreite
  • height: Bilddarstellungshöhe
  • srcx: X-Koordinaten für Bildschneiden
  • srcy: Y-Koordinaten für Bildschneiden

1.4.14 load _ surface (filename)

Laden von Bildern in Ebenen, unterstützt von der W-Serie, unterstützt von der M-Serie > = V6.1.241.00, unterstützt von der F-Serie nicht unterstützt

  • filename: Bilddatei, unterstützt von JPEG / PNG

Beispiel: surface = load_surface ("c:/test.jpg")

Wenn die Ebenen nicht mehr verwendet werden, müssen Sie destroy_surface aufrufen, um sie zu zerstören, da dies zu einem Speicherleck führen kann.

1.4.15 destroy_surface (surface)

Ebenen zerstören, W-Serie unterstützt, M-Serie > = V6.1.241.00, F-Serie nicht unterstützt

  • surface: Layer Resource Pointer

1.4.16 draw_surface (surface, dstx, dsty, width, height, srx, srcy)

Zeichnen von Ebenen, im Vergleich zu draw_image_file, diese Methode ist effizienter, unterstützt von der W-Serie, unterstützt von der M-Serie > = V6.1.241.00 (Crop Display), unterstützt von der F-Serie nicht

  • surface: Layer Resource Pointer
  • dstx: Image Display X-Koordinaten
  • dsty: Image Display Y-Koordinaten
  • width: Bildzeigebreite [Optional]
  • height: Bild zeigt Höhe an [Optional]
  • srcx: X-Koordinaten für Bilder [Optional]
  • srcy: Bildkreuzung Y-Koordinaten [Optional]

Zum Beispiel:

  1. Fliesenanzeige: draw _ surface (surface, dstx, dsty)
  2. Anzeige skalieren: draw _ surface (surface, dstx, dsty, width, height)
  3. Beschneiden der Anzeige: draw _ surface (Fläche, dstx, dsty, Breite, Höhe, srcx, srcy)

1.4.17 draw_text (text, x, y, w, h, font, color, align)

Text anzeigen

  • text: Zeichenkette
  • x: X-Koordinaten anzeigen
  • y: Zeigt die Y-Koordinaten an
  • w: Anzeigebreite
  • h: Anzeigehöhe
  • font: Schriftnummer
  • color: Farbe RGB565
  • align: Ausrichtung

bit0 ~ bit1 Horizontale Ausrichtung, 0 Links Ausrichtung, 1 Zentrale Ausrichtung, 2 Rechts Ausrichtung

bit2 ~ bit3 Vertikal Ausrichtung, 0 Oben Ausrichtung, 1 Zentrale Ausrichtung, 3 Unter Ausrichtung

1.5 Modbus-Protokoll besuchen

Der Zugriff auf Variablen in Protokollen wie MODBUS / PLC in LUA erfordert den Zugriff auf die Schnittstelle über die folgenden Variablen

Sch nitt stelle mit mb _ Pre fix , spezi ell für MO DB US - Protokoll , Fir m ware - Ver sions an forderungen : W - Ser ie > = 3. 0. 59 0. 0, F - Ser ie > = 4. 1. 40 1. 0, M - Ser ie > =V6.1.59.00

1.5.1 get _ variant (name)

Abrufen des Wertes der Protokollvariablen

  • Name: Name der Variablen
例如:get_variant(“Variable1”)

1.5.2 set_variant(name, value)

Anzahl der Variablen des Protokolls festlegen

  • Name: Name der Variablen
  • value: Der Wert, der der Variablen zugewiesen wird, ist erforderlich
例如:set_variant(“Variable1”,12345)

1.5.3 mb_set_timeout (timeout)

Festlegen der Slave-Antwort - Timeout

  • timeout: Bereich 1 - 255, 10 ms Einheit

1.5.4 mb_read_coil_01 (slave, addr, quantity)

01 Funktionscode, Lesespule, bei Erfolg zurückgegeben Bytearray, ein Byte 8 Coil, fehlschlägt zurückgegeben nil

  • slave: Slave-Adresse
  • Addr: Variable Adresse
  • quantity: Anzahl der gelesenen Spule

1.5.5 mb_read_input_02 (slave, addr, quantity)

02 Funktionscode, diskreter Eingang liest, bei Erfolg ein Byte-Array zurückgegeben, ein Byte 8 Eingabe, bei Fehlschlag zurückgegeben nil

  • slave: Slave-Adresse
  • addr: Variable-Adresse
  • quantity: Anzahl diskreter Eingaberegister, die gelesen werden

1.5.6 mb_read_reg_03 (slave, addr, quantity)

03 Funktionscode, Lesen des Haltregisters, Rückgabe des WORD-Arrays bei Erfolg, Rückgabe des Nil-Arrays bei Fehlschlag

  • slave: Slave-Adresse
  • addr: Variable-Adresse
  • amount: Anzahl der gelesenen Speicherregister

1.5.7 mb_read_input_reg_04(slave, addr, quantity)

04 Funktionscode, Eingaberegister gelesen, WORD-Array bei Erfolg zurückgegeben, nil zurückgegeben, fehlschlagen

  • lave: Slave-Adresse
  • addr: Variable-Adresse
  • quantity: Anzahl der gelesenen Eingaberegister

1.5.8 mb_write_coil_05 (slave, addr, status)

05 Funktionscode, Schreiben einzelner Spulen, gibt bei Erfolg true zurück, bei Fehlschlag false zurück

  • slave: Slave-Adresse
  • addr: Variable-Adresse
  • status: 1 ist ON, 0 ist OFF

1.5.9 mb_write_reg_06 (slave, addr, reg)

06 Funktionscode, schreibt in ein einzelnes Hold-Register, gibt bei Erfolg true zurück, bei Fehlschlag false zurück

  • Slave: Adresse des Slaves
  • addr: Variable-Adresse
  • reg: Registerwert

1.5.10 mb_write_coil_15 (slave, addr, quantity, coils)

15 Funktionscode, Schreiben mehrerer Spulen, gibt bei Erfolg true zurück, gibt bei Fehlschlag false zurück

  • slave: Slave-Adresse
  • addr: Variable-Adresse
  • coils: 8 Coils in einem Byte-Array, Index beginnt bei 0

1.5.11 mb_write_reg_16 (slave, addr, regs)

16 Funktionscode, Schreiben in mehrere Halterregister, Rückgabe von true bei Erfolg, Rückgabe von false bei Fehlschlag

  • slave: Slave-Adresse
  • addr: Variable-Adresse
  • regs: Register-WORD - Array mit Unterzeichnungsindex von 0

1.6 Netzwerkbezogene

W-Verbindung unterstützt, F-Serie, M-Serie nicht unterstützt

1.6.1 get_wifi_cfg ()

gibt vier Parameter zurück

例如:wifi_mode, secumode, ssid, password = get_wifi_cfg()
  • wifi_mode: Wireless-Netzwerk - Modus. 0-Deaktivieren drahtloses Netzwerk, 1 - Wireless-Netzwerkkarte - Modus, 2 - AP-Hotspot - Modus
  • secumode: Verschlüsselungsmodus 0 - AUTO (Standard), 1 - WEP, 2 - WPAPSK, 3 - WPAPSK2
  • ssid: Name des drahtlosen Netzwerks
  • password: Kennwort für ein drahtloses Netzwerk

1.6.2 set_wifi_cfg(wifi_mode, secumode, ssid, password)

WIFI-Konfiguration einrichten, die Parameter beschrieben wie oben

1.6.3 on_wifi_callback(state, reason)

Wenn sich der Netzwerkzustand ändert, wird er aufgerufen.

1.6.4 get_network_state ()

aufgerufen, um den Netzwerkstatus abzurufen und einen Parameter zurückzugeben

例如:state = get_network_state()

Status-Bitsbeschreibung

  • bit0 - Wireless-Netzwerkverbindung
  • bit1 - Kabelnetzwerkverbindung
  • bit2 - Serververbindung
  • bit3 - Clientverbindung

1.6.5 set_network_cfg (dhcp, ipaddr, netmask, gateway, dns)

dhcp DHCP aktiviert, 0 deaktiviert, 1 aktiviert, die folgenden Parameter funktionieren nur bei deaktiviert

  • ipaddr: statische IP
  • netmask: Maske
  • gateway: Subnetzmaske
  • dns: Domain Name Server

1.6.6 get_network_cfg ()

gibt fünf Parameter zurück, wie oben beschrieben.

例如:dhcp, ipaddr, netmask, gateway, dns = get_network_cfg()

1.6.7 save_network_cfg ()

Netzwerk-Einstellungen speichern und Netzwerkverbindung wiederherstellen

Hinweis: Änderungen der Netzwerkkonfiguration, Serverparameter usw. erfordern Aufruf dieser Funktion zum Speichern, wie folgt

......
set_network_cfg(dhcp, ipaddr, netmask, gateway, dns)
save_network_cfg()
......

1.6.8 set_network_service_cfg (wificom, mode, port, server_addr)

Netzwerkdienstparameter festlegen

  • wificom: Standardwert 0 Aktivieren des Transmit-Modus (d. h. drahtloser serieller Anschluss) bei 1
  • mode: 0 Deaktivieren der Netzwerkdienste, 1 Client-Modus, 2 Server-Modus
  • port: Service-Port, Standardwert 5050
  • Server _ Adr: Server-Adresse (wenn der Bildschirm als Client ist)

1.6.9 get_network_service_cfg ()

gibt 4 Parameter zurück, wie oben beschrieben

wificom, mode, port, server_addr = get_network_service_cfg ()

1.6.10 scan_ap ()

Wireless Hotspots scannen, Gibt die Anzahl der Hotspots zurück

ap_count = scan_ap()

1.6.11 get_ap_info(index)

Informationen zu den angegebenen Hotspots erhalten

  • index: Die Seriennummer des WIFI, wie unten gezeigt
local ap_cnt = scan_ap()
for i = 1, ap_cnt 
do
    local ssid, security, quality = get_ap_info(i - 1)
    record_add(sc_scanwifi, 1, ssid..";"..quality..";")
end
  • index Hotspot-Index, Index beginnt mit 0
  • ssid: Hotspot-Name
  • security: Verschlüsselung
  • quality: Signalqualität

1.6.12 client_send_data(packet)

Senden von Nachrichten über Client-SOCKET an den Server

  • packet: Senden von Byte-Array - Paketen, Unterzeichnungen beginnen mit 0
function my_sendToserver()
    local send_buff = {}    
    send_buff[0] = 0x00
    send_buff[1] = 0x01
    send_buff[2] = 0x02
    send_buff[3] = 0x03
    send_buff[4] = 0x04
    send_buff[5] = 0x05
    send_buff[6] = 0x06
    send_buff[7] = 0x07
    send_buff[8] = 0x08
    send_buff[9] = 0x09
    client_send_data(send_buff)
end
--用户通过触摸修改控件后,执行此回调函数。
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
function on_control_notify(screen,control,value)
    ......
    if screen == sc_tcp
    then 
        if control == 3 and value == 0
        then
            my_sendToserver()
        end
    end
    ......
end

1.6.13 server_send_data(clinet_id, packet)

Senden von Nachrichten über SOCKET an den Client

  • clinet_id: Ziel-Client - ID
  • packet: Send byte-array - Packet, Beginnend mit 0
function my_sendToClien()
    local send_buff = {}    
    send_buff[0] = 0x00
    send_buff[1] = 0x01
    send_buff[2] = 0x02
    send_buff[3] = 0x03
    send_buff[4] = 0x04
    send_buff[5] = 0x05
    send_buff[6] = 0x06
    send_buff[7] = 0x07
    send_buff[8] = 0x08
    send_buff[9] = 0x09
    server_send_data(1,send_buff)
end
--用户通过触摸修改控件后,执行此回调函数。
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
function on_control_notify(screen,control,value)
    ......
    if screen == sc_tcp
    then 
        if control == 3 and value == 0
        then
            my_sendToClien()
        end
    end
    ......
end

1.6.14 on_client_recv_data(packet)

Das System ruft diese Funktion automatisch zurück, wenn SOCKET Daten empfängt.

  • packet: empfangene Byte-Array - packet, Unterzeichnungsbeginn von 0

PS: Bildschirm-Empfangserver - Daten sind nicht unbedingt ein vollständiges Frame-Nachrichtendaten, hier müssen Sie noch ein kleben Paket, Subpaket, und dann ein vollständiges Frame-Daten für die Verarbeitung extrahieren

function on_client_recv_data(packet)
    local client_rec = ''
    for i= 1,#(packet) do
            client_rec = client_rec .." ".. string.format("%02X",packet[i])
    end

    --简单显示报文数据
    set_text(sc_tcp, 1, 'cnt('..recv_cnt..') = '..client_rec)
end

​

1.6.15 on_server_recv_data(clinet_id, Paket)

Das System ruft diese Funktion automatisch zurück, wenn SOCKET-Server Daten empfängt

  • clinet_id: Client-ID
  • packet: Empfangenes Byte-Array - Paket mit Unterzeichnungsbeginn von 0

PS: Die Daten des Bildschirmempfangservers sind nicht unbedingt ein vollständiges Frame-Nachrichtendaten, hier müssen Sie immer noch ein Paket einfügen, Untervertrag, und dann ein vollständiges Frame-Daten extrahieren Verarbeitung

Verarbeitung Methode und on_client_recv_data ähnlich.

1.6.16 http_request(taskid, uri, method, content_type, postdata)

Senden Sie eine HTTP-Anfrage an den Server

  • taskid: Aufgabe Nummer angefordert, beliebige Einstellungen
  • URI: Ressourcenpfade
  • method: Methode, 0GET, 1POST

Folgende Parameter sind nur für die Post-Methode erforderlich.

  • content _ type: Datentyp wie json, xml, text usw.
  • Postdata: POST-Daten

1.6.17 on _ http _ response (taskid, response)

HTTP-Antwort

  • taskid: Antwort-Aufgabe - Nummer, entspricht http _ request
  • response: Antwortdaten

1.6.18 http_download (taskid, uri, savepath)

Datei über das HTTP-Protokoll herunterladen

  • taskid: Task-Nummer anfordern, beliebige Einstellungen
  • uri: Ressourcenpfad
  • savepath: Speicherort

1.6.19 http_download_bigfile(taskid, uri, savepath)

Herunterladen großer Dateien mit HTTP

Parameterbeschreibung wie oben

1.6.20 on_http_download (taskid, status)

Download-Antwort

taskid: Antwort-Task - Nummer, entspricht http_download

status: Download-Status: 0 Download fehlgeschlagen, 1 Download erfolgreich, aber speichern fehlgeschlagen, 2 Download und speichern erfolgreich

1.6.21 udp_create(port)

  • port: Portnummer

Erstellen eines UDP-Sockets und Bindung eines Service-Ports

例如:sockfd = udp_create(12345)

1.6.22 udp_close(sockfd)

Schließen eines UDP-Sockets

  • sockfd: Sockets wie udp_create(port) zurückgeben

1.6.23 udp_recvfrom(sockfd)

Empfangen einer UDP-Datennachricht

  • ret=-1: Ret = 0 bedeutet keine Daten, andere Werte zeigen die Datenlänge
  • ip, port: IP und Port des Senders
  • packet ist eine Datennachricht, Tabelle-Typ, Unterzeichnungsbeginn von 0
ret,ip,port,packet = udp_recvfrom(sockfd)

1.6.24 udp_sendto (sockfd, ip, port, packet)

Senden von UDP-Datennachrichten

  • sockfd: UDP-Sockel
  • ip, port: IP und Port des Empfängers
  • packet: Datenabricht, Tabelle-Typ, Unterzeichnis beginnt mit 0

1.6.25 get_wifi_mac ()

Erhält die MAC-Adresse des WIFI-Modules, gibt eine Zeichenfolge zurück

local mac_addr = get_wifi_mac()

1.6.26 get_ethernet_mac ()

Erhält die MAC-Adresse für Ethernet, gibt eine Zeichenfolge zurück

local mac_addr = get_ethernet_mac()

1.7 Timer

1.7.1 start_timer (timer_id, timeout, countdown, repeat)

Starten Sie den Timer, nach Ablauf des Zeitzeitraums ruft das System automatisch on_timer auf

  • timer_id: TimerID, 0 ~ 31
  • timeout: Timeout, in Millisekunden
  • countdown: 0 Forward-Timer, 1 Countdown
  • repeat: Anzahl der Wiederholungen, 0 bedeutet unbegrenzte Wiederholungen

1.7.2 stop_timer(timer_id)

Stopp-Timer

  • timer_id: TimerID, 0 ~ 31

1.7.3 on_timer(timer_id)

Timer-Timeout - Rückruf-Funktion

  • timer_id: TimerID, 0 ~ 31

1.7.4 get_timer_value(timer_id)

Abrufen Sie die aktuelle Zeit des Timers in Millisekunden

  • _ id: Timer-ID, 0 ~ 31

1.8 Serial Port

Serial Port API-Funktion für das LUA-Skript, mehr Anwendung für freie Serial Port-Protokoll, Detaillierte DEMO, SieheLUA-Tutorial10 - Benutzerdefinierte Serienanschlussbefehle.zip

1.8.1 uart_send_data(packet)

Daten über den seriellen Anschluss senden

  • packet: Byte-Arrays, Unterzeichnungen beginnen mit 0
function uart_doorState(state)
    local door_buff = {}    
    door_buff[0] = 0x5A
    door_buff[1] = 0x5A
    door_buff[2] = 0x07
    door_buff[3] = 0x82
    door_buff[4] = 0x00
    door_buff[5] = 0x01
    door_buff[6] = state

    uart_send_data(door_buff)
end
--用户通过触摸修改控件后,执行此回调函数。
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
function on_control_notify(screen,control,value)
    ......
    if screen == sc_door
    then 
        if control == 1
        then
            uart_doorState(value)
        end
    end
    ......
end

1.8.2 uart_set_timeout(timeout, timeout_inter)

Festlegen der Zeitüberschreitung des Empfangs

  • timeout: Gesamtzeitüberschreitung des Empfangs
  • timeout _ inter: Zeitüberschreitung des Bytesintervalls
常用于自由串口协议(uart_free_protocol = 1),eg:uart_set_timeout(0, 0)

1.8.3 uart_set_baudrate (baudrate)

  • Baudrate: Baudrate, unterstützt 2400bps ~ 961200bps
设置波特率,如uart_set_baudrate(9600)

1.8.4 uart_get_baudrate ()

Erhält die Baudrate, gibt den Wert der Baudrate zurück

local baudrate = uart_get_baudrate()

1.8.5 on_uart_recv_data(packet)

Eine Callback-Funktion zum Empfang von Daten an einem seriellen Anschluss. Es gibt zwei Möglichkeiten, diese Funktion auszulösen:

Verwenden Sie benutzerdefinierte serielle Befehle: Format EE B5 [ benutzerdefinierte Daten] FF FC FF FF

☆ Benutzen Sie freies serielles Protokoll: Definieren Sie die globale Variable uart_free_protocol = 1 in einem LUA-Skript

  • packet: Empfangene Byte-Daten

1.8.6 uart_setup(baudrate, parity, stopbit, databits)

Serial-Port - Parameter-Einstellung

  • Baudrate: Wert der Baudrate
  • Parität: 0 - keine Prüfung, 1 - Odd-Test, 2 - Even-Test
  • stopbit: stopbit = 0,1 Stopbit; stopbit = 1, 1,5 Stopbit
  • databits: Datenbits 5 bis 8

1.9 CAN-Schnittstelle

1.9.1 canbus_open (index, baudrate, listen_mode, loop_back)

Öffnen der CANBUS-Schnittstelle

  • index: Indexnummer 0 ~ 1
  • Baudrate: Baudrate (Einheit K), optional 125,250,500,1000
  • listen _ mode: Nur-lesen - Mode
  • loop_back: Spontaner Empfang (Loopback / Self-Test)

1.9.2 canbus_close (index)

Schließen der CANBUS-Schnittstelle

  • index: Index-Nummer 0 ~ 1

1.9.3 canbus_write(index, identifier, dlc, rtr, idea, data)

Senden der CAN-Nachricht

  • index: Index-Nummer 0 ~ 1
  • Identifizierung: Nachrichten-ID
  • dlc: Datenlänge
  • rtr: Remote Frame
  • ide: Extended Frame
  • data: Daten, Tabelle-Format

1.9.4 on_canbus_recv(index, identifier, dlc, rtr, idea, data)

CAN Nachrichten-Rückruffunktion, nach Empfang der Nachricht wird automatisch

  • index: Index 0 ~ 1 aufgerufen.
  • Identifier: Nachricht ID
  • dlc: Datenlänge
  • rtr: Remote Frame
  • ide: Extended Frame
  • data: Data, table format

1.10 Audio-Video

W-Serie, F-Serie, M-Serie unterstützen Audio-Wiedergabe, W-Serie, M-Serie unterstützen Videowiedergabe, F-Type nicht unterstützt

1.10.1 play_sound(filename)

Wiedergabe der angegebenen Audio-Datei, z. B. Wiedergabe der In-Bildschirm - Audiodatei

  • filename: Pfad
屏内路径播放:
W系列:play_sound(‘a:/sounds/welcome.wav’)
M、F系列:play_sound(‘3:/sounds/welcome.wav’)

1.10.2 stop_sound ()

Wiedergabe beenden

1.10.3 on_audio_callback (state)

Wiedergabe beendet Rückruf Benachrichtigung

  • Zustand nicht verwendet bleiben.

1.10.4 set_volume(level)

Setzen Sie die Lautstärke

  • Level: Lautstärke von 0 bis 100. 100 0 stumm

1.10.5 get_volume()

Erhält die Lautstärke, gibt den Wert 0 - 100 zurück

1.10.6 play_video(pathname, repeat)

Wiedergabe von Videos, nicht für M / F / X-Serie

pathname ist der Video-Pfad

repeat ist die Anzahl der Wiederholungen, 0 ist die unbegrenzte Anzahl,

Video auf dem Bildschirm wiedergeben: play _ video ('a:/Videos/1.mp4', 0)

1.10.7 pause_video()

Videowiedergabe pausieren, F-Serie nicht unterstützt

1.10.8 resume_video()

Videowiedergabe wiederherstellen, F-Serie nicht unterstützt

1.10.9 stop_video()

Videowiedergabe beenden, F-Serie nicht unterstützt

1.10.10 play_file(video, left, top, width, height)

Videowiedergabe, M / X-Serie, F-Serie / IoT Nicht unterstützt

file: Dateipfad

left: Startkoordinaten x

top: Startkoordinaten y

width: Breite der Videoanzeige

height: Höhe der Videoanzeige

1.10.11 on_video_notify(msg, v1, v2)

Videowiedergabe Rückruffunktion

msg: 1 - Wiedergabe, 0 - Wiedergabe abgeschlossen

v1: aktueller Wiedergabefortschritt, aktueller ausgestrahlter Dauer, Einheit s

v2: Gesamtspielfortschritt, aktueller Gesamtdauer des Videos, Einheit s

1.10.12 set_av_channel (channel)

Umschalten von AV-Kanälen, M-Serie, IoT, F-Serie Nicht unterstützt

channel = 0, Umschalten auf Kanal1

channel = 1, Umschalten auf Kanal2

1.11 FLASH-Speicher Lesen und Schreiben

Der Bildschirm bietet 128K-Benutzer - FLASH, das zum Speichern von Konfigurationsparametern verwendet werden kann

Fir m ware - Ver sion : W - Ser ie > = 3. 0. 59 0. 0, F - Ser ie > = 4. 1. 40 1. 0, M - Ser ie > =V6.1.59.00

1.11.1 schreiben _ flash(addr, data)

Schreiben Sie Benutzer-FLASH - Daten, Addr-Schreibadresse, Data-Byte - Array, Unterzeichner beginnen mit 0.

1.11.2 read _ flash(addr, length)

Lesen von Benutzer-FLASH - Daten, addr Schreibadresse, length Lesen von Bytes, Rückgabetyp von Bytes-Arrays, Unterzeichnungen beginnen mit 0

data = read_flash(addr,length)

1.11.3 write_flash_string(addr, str)

Schreiben Sie eine Zeichenfolge an die angegebene FLASH-Adresse

1.11.4 read_flash_string(addr)

Lesen einer Zeichenfolge von der angegebenen FLASH-Adresse, erfolgreich zurückgegeben, fehlgeschlagen zurückgegeben nil

str = read_flash_string(addr)

1.11.5 flush_flash()

Das System optimiert den Cache für das Schreiben von FLASH, Erhöht die Schreibeffizienz

Flush_flash-Operation schreibt Daten sofort in FLASH

1.12 Dateisystem-Operation

Dateisystem-Lese - Schreibschnittstelle, speziell für die M-Serie, einzelne Funktionen für die IoT-Verwendung, nicht erwähnt, dass alle M-Serie - speziell sind

1.12.1 list_dir(path)

durchquert Dateien und Ordner im angegebenen Verzeichnis, gibt erfolgreich true zurück, fehlgeschlagen gibt false zurück

  • path: Dateipfad
  • filename: Dateiname
  • type: 0 - Ordner, 1 - Datei
  • fsize: Dateigröße

Gibt den Inhalt des Ordners über die folgende Rückruffunktion zurück

on_list_dir(path, filenname, type,fsize)

1.12.2 file_open(path, mode)

Öffnen Sie die Datei, gibt erfolgreich true, false zurück

  • path-Datei-Pfad
  • mode - Öffnen Sie den Modus wie folgt
FA _ OPEN _ EXISTINGFA _ READFA _ WRITEFA _ CREATE _ NEWFA _ CREATE _ ALWAYS.FA _ OPEN _ ALWAYS
0x000x010x020x040x080x10

Beispiel:

打开文件用于读取:file_open(path, 0x01)
创建文件用于写入:file_open(path, 0x02|0x08)

1.12.3 file_close()

Schließen der Datei, erfolgreich zurückgegeben true, fehlgeschlagen false

1.12.4 file_size()

Abrufen der aktuellen Dateigröße, zurückgegeben Bytes

local file_fd = file_open(path, 0x01)
local filesize = file_size()

1.12.5 file_seek(offset)

Suchen Sie nach dem Leserort der Datei, erfolgreich zurückgegeben true, fehlgeschlagen false

  • offset: Dateiverschiebungsort

1.12.6 file_read (count)

Lesen Sie den Inhalt der Datei, gibt das table-Array erfolgreich zurück, gibt nil

  • count fehlgeschlagen zurück: Lesen von Bytes, maximal 2048 Bytes

1.12.7 file_write(data)

Schreiben von Dateiinhalten, erfolgreich zurückgegeben true, fehlgeschlagen zurückgegeben false

  • data - Tabelle-Array zu schreiben, Index beginnt mit 0, Maximal 2048 Bytes pro Schreiben

1.12.8 file_delete(path)

  • path: Dateipfade, der gelöscht werden soll

1.12.9 file_copy(src_path, dst_path)

  • src_path: Quelldateipfad
  • dst_path: Zieldateipfad

1.12.10 start_copy_file (from, to)

Hinweis: Diese Funktion ist nur für das Internet der Dinge verfügbar!!!

Kopieren von Dateien

  • von: Quellpfad
  • zu: Zielpfad

Bei Kopieren von Dateien ruft das System automatisch die Fortschrittsmeldung zurück.

on_copy_file_process(status, filesize, transfersize)

1.12.11 on_copy_file_process(status, filesize, transfersize)

Hinweis: Diese Funktion ist für die IoT / M-Serie gemeinsam verfügbar!!!

Fortschritt der Datei-Kopie, mit file _ copy (src _ path, dst _ path), bei Aufruf von file _ copy, automatischer Rückruf auf die on _ copy _ file _ process-Funktion

  • status: Status.0 - Failed, 1 - Copy in progress, 2 - Copy abgeschlossen
  • filesize: Datei-Größe
  • transfersize: Anzahl der Bytes der aktuellen Rückruf-Kopie

1.13 Andere

1.13.1 set_backlight (level)

Einstellung der Hintergrundbeleuchtung

  • level: Helligkeitsstufen 0 - 100,0 Dunkelste, 100 Helligste

1.13.2 get_backlight ()

Holt den Helligkeitsprozentsatz, gibt einen Wert zurück, 100 Klassen insgesamt

如:level = get_backlight()

1.13.3 set_language(lang)

Setze die aktuelle Sprache

  • lang: Sprachindex, beginnend mit 0 Wenn Sie die englische Tastatur verwenden, oder auf 0x80
例如:设置语言1(索引0)
中文提示键盘:set_language(0)
英文提示键盘:set_language(0x80|0)

1.13.4 get_language ()

Erhält die aktuelle Sprachauswahl

lang: gibt den Sprachindex zurück, beginnend mit 0. Wenn Sie die englische Tastatur verwenden, erhalten Sie die Sprache Elemente oder 0x80

例如:假设当前语言1(索引0)cur_lang = get_language()
中文提示键盘:cur_lang  = 0
英文提示键盘:cur_lang  = 0x80

1.13.5 set_wakeup_mode (mode)

Wake-Modus Einstellung, kann die Einstellungen kombiniert werden, W-Serie unterstützt, M-Serie, F-Serie nicht unterstützt

  • mode: 0x1 Klicken auf Wecken, 0x2 Doppelklick auf Wecken, 0x4 Serial-Anschluss Wecken

1.13.6 sleepmode (on)

  • on: gleich 1 Eintritt

in den Schlafmodus mit niedrigem Stromverbrauch, die Bildschirmfunktion nach dem Schlaf funktioniert nicht mehr, kann nur mit Touch Wake

1.13.7 standbyste Mode (on)

in den Standby-Modus mit niedrigem Stromverbrauch eingegeben werden, kann der serielle Anschluss des Bildschirms normal funktionieren. W-Serie unterstützt, M-Serie, F-Serie nicht unterstützt

1.13.8 beep (time)

Buzzer-Twitter - Dauer

  • time: Millisekunden-Einheit

1.13.9 get_tick_count ()

Die Laufzeit nach dem Einschalten, in Einheit 10ms.

32 - Bit-Zähler, der nach ca. 49 Tagen überflutet wird, um die Null-Zahlrechnung aufzunehmen.

1.13.10 get_date_time ()

Erhält das aktuelle Datum und die Uhrzeit, gibt sieben Parameter zurück

year,mon,day,hour,min,sec,week = get_date_time()
  • year: year
  • mon: month
  • day: day
  • hour: hour
  • min: minute
  • Sek. Sekunden
  • Woche: Woche x, Sonntag 0

1.13.11 set_date_time (year, mon, day, hour, min, sec)

Festlegen des aktuellen Datums und der Uhrzeit

  • Jahr: Jahr
  • mon: Monat
  • Tag: Tag
  • Stunde: Uhr
  • Min.: Min.
  • sec: sec
set_date_time(year,mon,day,hour,min,sec)

1.13.12 upgrade_logo (url)

Update Boot-LOGO über USB-Stick, Unterstützung der W-Serie, der F-Serie, der M-Serie nicht unterstützt

  • url: Bildpfad
function on_usb_inserted(driver)
    upgrade_logo(driver..'logo.jpeg')
end

1.13.13 gpio_set_in (pin)

PIN-Pin auf Eingangsmodus gesetzt, unterstützt von W-Serie, M-Serie, nicht von F-Serie unterstützt

1.13.14 gpio_set_out (pin)

PIN-Pin ist auf Ausgangsmodus eingestellt, unterstützt von W-Serie, M-Serie, nicht von F-Serie

1.13.15 gpio_set_value (pin, value)

Setzt den Ausgabe-PIN auf (High / Low 0), Unterstützung der W-Serie, der M-Serie, nicht unterstützt der F-Serie

1.13.16 gpio_get_value (pin)

Eingabe-PIN - Pins-Ebene erhält (High 1 / Low 0), unterstützt von der W-Serie, der M-Serie, nicht von der F-Serie

1.13.18 feed_dog ()

Wenn eine Aktion im Skript mehr als 5 Sekunden dauert, muss die Fütterung des Hundes durchgeführt werden

Unterstützt von der W-Serie, nicht von der F-Serie, der M-Serie.

1.13.19 get_pixel(x, y)

Erhält den RGB565 - Wert für die entsprechenden Koordinaten

Unterstützt W-Serie, M-Serie, nicht F-Serie.

1.13.20 refresh_screen ()

Bildschirm aktualisieren

1.13.21 get_version ()

Firmware-Versionsnummer abrufen, zurückgeben Zeichenfolge

Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.