LUAスクリプトAPI関数インタフェース{{LUAすくりぷとAPIかんすういんたふぇ ーす}}

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

LUAスクリプトAPI関数インタフェース{{LUAすくりぷとAPIかんすういんたふぇ ーす}}

このドキュメントは、Mシリーズ、Wシリーズ、Xシリーズ、Fシリーズファームウェアバージョン= V4.2.401.0に適用されます。API関数内のスクリーンとコントロールパラメータは、ターゲット画面IDとターゲット構成コントロールIDとして表示され、各APIについては説明しません。

1.1コントロール属性クラス

1.1.1 change_screen(screen)

指定画面に切り替える

1.1.2 change_child_screen (screen)

ダイアログなどのサブ画面に切り替える

1.1.3 change_screen_effect(screen,effect)

指定した画面に切り替え、アニメーション効果を使用

  • 効果:効果のアニメーション。0-アニメーションなし、1-左から右、2-右から左、3-上から下、4-下から上、5-フェードアウト

1.1.4 set_slide_screen(slide,round,start_screen,end_screen)

ウィンドウスライドモードの設定

  • slide 0-スライド禁止、1-左右スライド、2-上下スライド
  • round 1-ループバックモードで、末尾のページを先頭にスライドさせることができます。
  • start_screen開始画面
  • end_screen:終了画面

1.1.5 set_button_notify_release ()

設定ボタン解除通知モード、タッチボタンでもウィンドウをスライド可能

1.1.6 get_current_screen()

現在の画面IDの取得

1.1.7 set_value(screen,control,value)

コントロール値の設定

  • value:コントロール値

ボタンコントロールvalue= 1-押す、0-ポップアップ

テキストコントロールvalue-整数または小数

進行状況バー、スライダー、メーター、スライド選択コントロールなどを設定することもできます。

1.1.8 get_value(screen,control)

コントロール数値、ボタン、テキスト、プログレスバー、スライダー、メーターなどを取得します。

1.1.9 set_visiable(screen,control,visiable)

コントロールが表示されるかどうかの設定

  • 表示:0-非表示、1-表示

1.1.10 set_enable(screen,control,enable)

コントロールがタッチ可能かどうかの設定

  • enable:0-タッチ禁止、1-タッチ有効

1.1.11 set_fore_color(screen,control,color)

テキストコントロールのテキスト色、プログレスバーの表示色など、コントロールの描画色を設定します。

  • color RGB値、2バイト、RGB565

1.1.12 set_back_color(screen,control,color)

テキストコントロールの背景色、プログレスバーの背景色など、コントロールの背景色の設定

  • color RGB値、2バイト、RGB565

1.1.13 set_text(screen,control,text)

コントロールの表示内容文字列、テキストコントロール、QRコードコントロールなどを設定する

  • text:文字列の型

1.1.14 set_text_roll(screen,control, speed)

テキストコントロールの右から左へのスクロール速度の設定

  • スピード:毎秒何ピクセルですか?0に設定してスクロールを停止

1.1.15 set_text_flicker (screen,control, cycle)

テキストコントロールの点滅周期の設定

  • c:点灭サイクル、単位は10ms。0に設定して点滅を止める

1.1.16 get_text(screen,control)

コントロール文字列の内容文字列、テキストコントロール、二次元コードコントロールなどの取得

1.1.17 set_options (screen, control, options)

スライド選択コントロールの内容の設定

  • options:オプションの内容、文字列形式、各項目はセミコロン“;”で区切られます。

例set_options screen controlオプション1;オプション2;オプション3; ViewCube

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

子画面ウィンドウのスライドモードを設定し、Wシリーズはサポートし、F、Mシリーズはサポートしない

  • start_screen開始画面
  • end_screen:終了画面
  • round 1ループバックモードでは、末尾のページを先頭にスライドさせることができます。

1.1.19 play_animation(screen, control)

アニメーションコントロールの再生の設定

1.1.20 stop_animation(screen,control)

アニメーションコントロールの停止を設定する

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

ヒストリ曲線のチャンネル値を設定し、チャンネル数に応じてパラメータを記入する

  • channe0チャネル0の値
  • …
  • channe7チャネル7の値

例えば、4つのチャネルがあります。set_history_gr_value screen 1 2 3 4

1.1.22 set_history_graph_direction(screen,control,direction)

ヒストリカーブのリフレッシュ方向を設定します。既定では、右から左に表示されます。

  • direction:0-右から左、1-左から右

1.1.23 set_scroll_position(screen, control, mode)

ヒストリカーブのページめくりの設定

  • mode:ページをめくるモード。2-次のページ、3-前のページ、4-最後のページ、5-最初のページ

1.2コントロールの記録

1.2.1 record_set_event(screen,control,eventid)

アラート·タイプ-トリガー·アラート

  • eventid:アラームタイプのデータログコントロール内のアラーム解決IDに関連付けられます。

1.2.2 record_reset_event(screen,control,eventid)

アラームの種類-アラームの解除

  • eventid:アラームタイプのデータログコントロール内のアラーム解決IDに関連付けられます。

1.2.3 record_add(screen,control,record)

最後にレコードを追加する

  • record:recordは文字列
例record_add screen control item1; item2; item3;"

1.2.4 record_insert (screen,control,position,record)

指定した場所にレコードを挿入する

  • position:位置インデックスの挿入
  • record:recordは文字列

1.2.5 record_clear(screen,control)

記録データの消去

1.2.6 record_setoffset(screen,control,offset)

スクロール表示位置の設定

  • offset:現在表示されているインデックスの位置

1.2.7 record_get_count(screen,control)

レコード数の取得

例:local recordCnt = record_get_count 0,1-画面0、コントロール1ビットのデータ記録コントロールを仮定する

1.2.8 record_read(screen,control,position)

レコードを読み取り、文字列を返す

  • position:読み込む必要がある行番号。インデックスは0から始まり、0はデータの最初の行です。

1.2.9 record_modify(screen,control, position ,record)

レコードの変更。

  • position:変更する必要のある行番号。インデックスは0から始まり、0が最初の行です。
  • record:新たな変更点

1.2.10 record_delete(screen,control,position)

レコードの削除。

  • position:削除する必要のある行番号。インデックスは0から始まり、0はデータの最初の行です。

1.2.11 record_select(screen,control,position)

レコードを選択。

  • position:選択する必要がある行番号。インデックスは0から始まり、0はデータの最初の行です。

1.2.12 record_export(screen,control)

SDカード/USBドライブへのエクスポート

1.3一般的なコールバック関数

1.3.1 on_init()

このコールバック関数は、システムがLUAスクリプト·ファイルをロードした直後に呼び出されます。通常、初期化操作を実行するために使用されます。

1.3.2 on_systick()

このコールバック関数は、1秒ごとに自動的に呼び出されます。

1.3.3 on_control_notify(screen,control,value)

このコールバック関数は、ユーザーが修正コントロールにタッチした後に実行されます。ボタンコントロールをクリックし、テキストコントロールを変更し、スライドバーを変更すると、このコントロールがトリガーされます。

  • value数値型。テキストコントロールの文字列値を取得する必要がある場合は、get_text screen controlを使用します。

1.3.4 on_screen_change(screen)

画面を切り替える必要がある場合は、このコールバック関数を実行し、画面をターゲット画面にします。

この関数はchange_screenを内部的に呼び出し、on_screen_changeはネストされません。

1.3.5 on_press(state,x,y)

このコールバック関数は、ユーザがタッチスクリーンをクリックしたときに実行されます。

  • stateタッチ状態、0-離す、1-押す、2-押し続ける
  • x:タッチX座標
  • Y:タッチY座標

1.3.6 on_usb_inserted(driver)

USBスティック挿入時にこのコールバック関数を実行

  • Dirver:ドライブの文字。

1.3.7 on_usb_removed()

USBドライブの引き抜き時にこのコールバック関数を実行

1.3.8 on_sd_inserted(dir)

SDカード挿入通知

  • dir:パスの文字

1.3.9 on_sd_removed()

SDカードの取り外し通知

1.3.10 on_screen_sliding(screen, control)

指のスライド時のターゲット画面IDを決定するために使用され、Wシリーズはサポートし、F、Mシリーズはサポートしない

切り替え先の画面のIDを返します,left,right,up,down,4つのパラメータで,左,右,上,下のページIDを指定し,-1の場合,その方向にスライドできません

  • screen:現在の画面
  • control:現在のページ、上にスライドしたコントロールID

1.4描画関数

1.4.1 on_draw(screen)

この関数は、インタフェースの表示内容を更新する必要があるときに自動的に呼び出され、ユーザーはこの関数にカスタムの描画操作を追加します。ユーザが描画した内容は画面内容コントロールの上に重ね合わせられる.この関数はシステムコールバック関数であり、ユーザが直接呼び出さないでください。

この関数は、次のような状況でトリガーされます。

  • インターフェイスには動画再生、ビデオ再生、RTC時間表示のダイナミックリフレッシュがあります
  • ユーザーアクション画面コントロール
  • LUAスクリプトまたはシリアルコマンドによるコントロールの更新
  • redrawの実行

要するに、インターフェイスの変更はコールバック関数をトリガーします。

1.4.2 on_pre_draw(screen)

ユーザーが描画する内容は画面の最下層にあり、現在の描画画面は透明で背景図がない必要がある

関連ノート同上

1.4.3 redraw()

再描画要求を送信し、on_drawの実行をトリガする

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

指定したファイルパスに保存される画面ウィンドウの範囲をキャプチャします。Wシリーズはサポート、F、Mシリーズはサポートしない

  • filename画像ファイルの保存パス[filenameピクチャふぁいるのすけーるぱす]
  • x:スクリーンショットの始点x座標
  • y:スクリーンショットの始点y座標
  • width:スクリーンショットの幅
  • height:画面の高さ
  • quality JPEG画像品質、デフォルト95

例screen_shoot b/shoot.jpg 0、0、480、272、95

1.4.5 set_pen_color(color)

ブラシのカラーを(RGB565)、、形、円などのカラーを指定します。

  • カラー:RGB 56 5カラー

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

線分の描画

  • x0 y0点
  • x1 y1终了点
  • 幅:線の厚さ、1~10

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

長方形の描画

  • x0 y0左上隅の
  • x1 y1:右下隅の
  • fill:0未充填、1充填

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

半透明のソリッド長方形の描画(Fシリーズではサポートされていません)

  • x0 y0左上隅の
  • x1 y1:右下隅の
  • アルファ:透明度0完全透明~255不透明

1.4.9 draw_circle(x,y,r,fill)

円を描く

  • x y円の中心
  • r:円の半径
  • fill:0未充填、1充填

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

楕円の描画

  • x0 y0左上隅の
  • x1 y1:右下隅の
  • fill:0未充填、1充填

1.4.11 load_image (image_id,frame_id)

通常on_initで使用される指定された画像をメモリにロードすると、起動速度は犠牲になりますが、実行プロセスはよりフローになります。Wシリーズはサポート、F、Mシリーズはサポートしない

  • image_id:画像リソースのID
  • frame_id:アイコンに対応し、フレームIDを設定でき、その他の画像は0に固定されます。

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

絵を描く

  • image_id:画像リソースのID
  • frame_id:アイコンに対応し、フレームIDを設定でき、その他の画像は0に固定されます。
  • dstx:X座標を示す画像
  • dsty:Y座標を示す画像
  • width:画像の幅
  • 高さ:写真は高さを示す。
  • srcx:画像の切り抜きX座標
  • srcy:画像の切り抜きY座標

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

画像を描画し、この方法は画像をキャッシュしない、効率が低く、Wシリーズはサポートしない、F、Mシリーズはサポートしない。

  • filename:JPEG/PNGをサポートする画像ファイル
  • dstx:X座標を示す画像
  • dsty:Y座標を示す画像
  • width:画像の幅
  • 高さ:写真は高さを示す。
  • srcx:画像の切り抜きX座標
  • srcy:画像の切り抜きY座標

1.4.14 load_surface (filename)

画像をレイヤーにロード、Wシリーズ対応、Mシリーズ= V 6.1.241.0 0対応(トリミング表示)、Fシリーズ非対応

  • filename:JPEG/PNGをサポートする画像ファイル

例surface = load_surface“c/test.jpg”

レイヤーが使用されなくなったときにdestroy_surfaceを呼び出して破棄する必要があります。そうしないと、メモリリークが発生します。

1.4.15 destroy_surface (surface)

レイヤーの破壊、Wシリーズサポート、Mシリーズ= V6.1.241.00、Fシリーズ非サポート

  • surface画層アセットポインタ

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

描画レイヤー。draw_image_fileよりも効率的で、Wシリーズサポート、Mシリーズ= V6.1.241.00サポートトリミング表示、Fシリーズ非サポート

  • surface画層アセットポインタ
  • dstx:X座標を示す画像
  • dsty:Y座標を示す画像
  • width:画像の幅(オプション)
  • height:画像の高さ(オプション)
  • srcx:画像の切り抜きX座標[オプション]
  • srcy:画像の切り抜きY座標[オプション]

例えば:

  1. タイル表示w_dstx dsty
  2. 表示の拡大/縮小draw_surface surface dstx dsty width height
  3. トリミング表示w_dstx dsty width height cx

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

文字の表示

  • text:文字列
  • x:X座標を表示
  • Y:Y座標を表示
  • W:表示幅
  • H:高さを示す
  • フォント:フォント番号
  • カラー:RGB 56 5
  • align:アライメント

ビット0~ビット1水平、0左、1中央、2右

ビット2~ビット3垂直設定、0上設定、1中央設定、3下設定

1.5 MODBUSプロトコルアクセス

LUAでMODBUS/PLCなどのプロトコルで定義された変数にアクセスするには、以下の変数アクセスインタフェースを介して必要です。

MB_プレフィックス付きインターフェイス、MODBUSプロトコル専用、ファームウェアバージョン要件:Wシリーズ= 3.0.59 0.0、Fシリーズ= 4.1.4 0 1.0、Mシリーズ= V6.1.59.00

1.5.1 get_variant(name)

プロトコル変数の数値の取得

  • name:変数名
例get_variant Variable1 "

1.5.2 set_variant(name,value)

プロトコル変数の数値の設定

  • name:変数名
  • value:変数に必要な値
例set_variant Variable1 "、12345

1.5.3 mb_set_timeout (timeout)

スレーブ応答タイムアウト時間の設定

  • timeout:1~255の範囲、10ミリ秒単位

1.5.4 mb_read_coil_01 (slave,addr,quantity)

0 1関数コード、リードコイル、成功するとバイト配列、1バイト8コイル、失敗するとnilを返す

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • quantity:読み取ったコイルの個数

1.5.5 mb_read_input_02(slave,addr,quantity)

0 2関数コード、離散入力の読み取り、成功するとバイト配列、1バイト8入力、失敗するとnilを返す

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • quantity:読み出す離散入力レジスタの数

1.5.6 mb_read_reg_03(slave,addr,quantity)

0 3関数コード、読み出し保持レジスタ、成功時はWORD配列、失敗時はnil

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • quantity:読み出したセーブレジスタの個数

1.5.7 mb_read_input_reg_04(slave,addr,quantity)

0 4関数コード、入力レジスタの読み込み、成功するとWORD配列、失敗するとnilを返す

  • lave:送信機のアドレス
  • addr:変数アドレス
  • quantity:読み込む入力レジスタの数

1.5.8 mb_write_coil_05 (slave,addr,status)

0 5関数コード、単一のコイルに書き込み、成功時にtrue、失敗時にfalseを返す

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • ステータス:1がON、0がOFF

1.5.9 mb_write_reg_06 (slave,addr,reg)

0 6機能コード、単一の保持レジスタに書き込まれ、成功時にtrue、失敗時にfalseを返す

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • reg:レジスタ値

1.5.10 mb_write_coil_15 (slave,addr,quantity,coils)

15関数コード、複数のコイルを書き込み、成功時にtrue、失敗時にfalseを返す

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • coils:バイト配列、1バイト8コイル、インデックスは0から始まるインデックス

1.5.11 mb_write_reg_16 (slave,addr,regs)

16機能コード、複数の保持レジスタに書き込まれ、成功時にtrue、失敗時にfalseを返す

  • Slave:スレーブアドレス
  • addr:変数アドレス
  • regs:0から始まるインデックス付きレジスタWORD配列

1.6ネットワーク関連。

W连型サポート、Fシリーズ、Mシリーズではサポートされない

1.6.1 get_wifi_cfg()

4つのパラメータを返す

例:wifi_mode secumode s= get_wifi_
  • Wi-Fiモード:ワイヤレスネットワークモード。0-ワイヤレスネットワークの無効化、1-ワイヤレスカードモード、2-アクセスポイントホットスポットモード
  • secumode暗号化モード0-デフォルト、1-、2-WPAPSK、3-WPAPSK2
  • ssid:ワイヤレスネットワーク名
  • password:ワイヤレスネットワークのパスワード

1.6.2 set_wifi_cfg(wifi_mode, secumode, ssid, password)

WIFI設定設定、パラメータ説明上記

1.6.3 on_wifi_callback(state,reason)

ネットワークの状態が変化すると呼び出されます。

1.6.4 get_network_state()

ネットワーク状態を取得し、パラメータを返す

例= get__

ステータスビットの説明

  • ビット0-ワイヤレスネットワーク接続
  • ビット1-有線ネットワーク接続
  • ビット2-サーバーに接続する
  • ビット3-クライアントが接続されているかどうか

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

DHCP Enable DHCP,0 Disabled,1 Enable,以降のパラメータは無効の場合のみ有効

  • ipaddr:静的IP
  • netmask:マスク
  • gateway:サブネットマスク
  • DNS:ネームサーバ

1.6.6 get_network_cfg()

上記を説明する5つのパラメータを返す

例:dhcp ipaddr netmask gateway dns = get_network_cfg

1.6.7 save_network_cfg()

ネットワーク設定を保存し、ネットワークを再接続する

注:ネットワーク構成、サーバーパラメータなどを変更するには、以下のようにこの関数を呼び出す必要があります。

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

1.6.8 set_network_service_cfg(wificom, mode, port, server_addr)

ネットワーク·サービス·パラメータの設定

  • Wificom:デフォルトは0で、透過モードが有効な場合は1です(つまり、ワイヤレスシリアル画面)。
  • モード:0ネットワークサービス無効、1クライアントモード、2サーバーモード
  • port :サービスポート、デフォルト5050
  • server_addr:サーバのアドレス(クライアントの場合)

1.6.9 get_network_service_cfg()

上記を示す4つのパラメータを返す

wificom, mode, port, server_addr = get_network_service_cfg()

1.6.10 scan_ap()

ホットスポットをスキャンしてホットスポット数を返す

ap_count = scan_ap()

1.6.11 get_ap_info(index)

指定したホットスポットに関する情報の取得

  • index:WiFiの番号は以下の通りです。
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
  • インデックスは0から始まるインデックスです。
  • ssid:ホットスポット名
  • セキュリティ:暗号化方式
  • 品質:信号品質

1.6.12 client_send_data(packet)

クライアントSOCKET経由でサーバにメッセージを送信

  • packet:0から始まるバイト配列パケットを送信します。
function my_sendToserver
    local send_buff = {}    
    send_buff 0] = 0x00
    send_buff1] = 0x01
    send_buff2] = 0x02
    send_buff3] = 0x03
    send_buff4] = 0x04
    send_buff5] = 0x05
    send_buff6] = 0x06
    send_buff7] = 0x07
    send_buff8] = 0x08
    send_buff 9] = 0 x 0 9
    client_send_data send_buff
End of Endシングル
--ユーザーがタッチでコントロールを変更した後、このコールバック関数を実行します。
ボタンコントロールのクリック、テキストコントロールの変更、スライダーの変更は、このイベントをトリガーします。
function on__noscreen value
    ......
    if screen == sc_tcp
    そして、Then 
        制御== 3、値== 0の場合
        そして、Then
            my_sendToserver
        End of Endシングル
    End of Endシングル
    ......
End of Endシングル

1.6.13 server_send_data(clinet_id,packet)

サーバSOCKET経由でクライアントにメッセージを送信

  • clinet_idターゲットクライアントID
  • packet:0から始まるバイト配列パケットを送信します。
function my_sendToClien
    local send_buff = {}    
    send_buff 0] = 0x00
    send_buff1] = 0x01
    send_buff2] = 0x02
    send_buff3] = 0x03
    send_buff4] = 0x04
    send_buff5] = 0x05
    send_buff6] = 0x06
    send_buff7] = 0x07
    send_buff8] = 0x08
    send_buff 9] = 0 x 0 9
    server_send_data 1、send_buff
End of Endシングル
--ユーザーがタッチでコントロールを変更した後、このコールバック関数を実行します。
ボタンコントロールのクリック、テキストコントロールの変更、スライダーの変更は、このイベントをトリガーします。
function on__noscreen value
    ......
    if screen == sc_tcp
    そして、Then 
        制御== 3、値== 0の場合
        そして、Then
            my_sendToClien
        End of Endシングル
    End of Endシングル
    ......
End of Endシングル

1.6.14 on_client_recv_data(packet)

この関数は、クライアントSOCKETがデータを受信すると自動的にコールバックされます。

  • packet:0から始まるパケットの受信バイト配列。

PS:画面受信サーバのデータは必ずしもメッセージデータの完全なフレームではなく、ここではまだ粘着パッケージ、下請け、処理のためのデータの完全なフレームを抽出する必要があります。

function on__recv_data packet
    local client_rec = ''
    for i= 1 #packet do
            _rec = " ".. string.format " % 02X" packet i]
    End of Endシングル

    - データの簡単な表示
    set_text_t1 'c'.. recv_c.. ') = '.. client_rec
End of Endシングル

​

1.6.15 on_server_recv_data(clinet_id,packet)

この関数は、サーバSOCKETがデータを受信すると自動的にコールバックされます。

  • clinet_id:クライアントID
  • packet:0から始まるパケットの受信バイト配列。

PS:画面受信サーバのデータは必ずしもメッセージデータの完全なフレームではなく、ここではまだ粘着パッケージ、下請け、処理のためのデータの完全なフレームを抽出する必要があります。

処理はon_client_recv_dataと同様です。

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

サーバーへのHTTPリクエストの送信

  • taskid:要求タスク番号、任意の設定
  • URI:リソースパス
  • メソッド:0GET、1POST

次のパラメータPOSTメソッドが必要です。

  • content_type:json、xml、textなどのデータ型
  • Postdata:データの投稿

1.6.17 on_http_response(taskid,response)

HTTPレスポンス

  • taskid:http_requestに一致するレスポンスタスク番号
  • 応答:データへの応答

1.6.18 http_download (taskid,uri,savepath)

HTTPプロトコルを使用したファイルのダウンロード

  • taskid:要求タスク番号、任意の設定
  • URI:リソースパス
  • savepath保存場所

1.6.19 http_download_bigfile(taskid,uri ,savepath)

HTTPプロトコルを使用した大きなファイルのダウンロード

パラメータ説明上記

1.6.20 on_http_download (taskid, status)

応答のダウンロード

taskid:http_downloadに一致する応答タスク番号

ステータス:0ダウンロード失敗、1ダウンロード成功だが保存失敗、2ダウンロードと保存成功

1.6.21 udp_create(port)

  • port:ポート番号

UDPソケットの作成とサービスポートのバインド

例:sockfd = udp_create 12345

1.6.22 udp_close(sockfd)

UDPソケットを閉じる

  • sockfdソケットudp_create portが返すようなもの

1.6.23 udp_recvfrom(sockfd)

UDPパケットの受信

  • ret=-1:エラーが発生した場合、ret=0はデータがない場合、その他の値はデータ長を表します。
  • ip port送信侧のIPとポート
  • パケットは、テーブル型で、インデックスは0から始まる。
ret,ip,port,packet = udp_recvfrom(sockfd)

1.6.24 udp_sendto(sockfd,ip,port,packet)

UDPデータパケットの送信

  • sockfd:UDPソケット
  • ip port受信侧のIPとポート
  • パケット:データパケット、テーブル型、0から始まるインデックス

1.6.25 get_wifi_mac()

WIFIモジュールのMACアドレスを取得し、文字列を返す

local mac_addr = get_wifi_mac()

1.6.26 get_ethernet_mac()

EthernetのMACアドレスを取得し、文字列を返す

local mac_addr = get_ethernet_mac()

1.7タイマータイマー。

1.7.1 start_timer(timer_id, timeout, countdown, repeat)

タイマーを起動し、タイムアウト後にon_timerを自動的に呼び出す

  • timer_id:タイマー ID、0~31
  • timeout:タイムアウト時間(ミリ秒単位)
  • カウントダウン:0ダウン、1カウントダウン
  • 繰り返し:0は無限の繰り返しです。

1.7.2 stop_timer(timer_id)

タイマーを止める。

  • timer_id:タイマー ID、0~31

1.7.3 on_timer(timer_id)

タイマ·タイムアウト·コールバック関数{{たいまのあうとこーるばかんすう}}

  • timer_id:タイマー ID、0~31

1.7.4 get_timer_value(timer_id)

タイマーの現在のタイミング時間をミリ秒単位で取得する

  • timer_id:タイマー ID、0~31

1.8シリアルポート

LUAスクリプトのシリアルポートAPI関数は、より多くの自由なシリアルポートプロトコル、詳細なDEMO、参照可能LUAチュートリアル10-シリアルポート命令のカスタマイズ.zip

1.8.1 uart_send_data(packet)

シリアルポート経由でデータを送信する

  • packet:0から始まるバイト配列
function uart_doorState state
    local door_buff = {}    
    door_buff 0] = 0x5A
    door_buff1] = 0x5A
    door_buff2] = 0x07
    door_buff3] = 0x82
    door_buff4] = 0x00
    door_buff5] = 0x01
    door_buff6] =

    uart_send_data door_buff
End of Endシングル
--ユーザーがタッチでコントロールを変更した後、このコールバック関数を実行します。
ボタンコントロールのクリック、テキストコントロールの変更、スライダーの変更は、このイベントをトリガーします。
function on__noscreen value
    ......
    if screen == sc_door
    そして、Then 
        制御の場合== 1
        そして、Then
            uart_doorState value
        End of Endシングル
    End of Endシングル
    ......
End of Endシングル

1.8.2 uart_set_timeout(timeout, timeout_inter)

シリアル受信タイムアウト時間の設定

  • timeout:受信合計タイムアウト
  • timeout_interバイト間隔のタイムアウト
フリーシリアルポートプロトコル(uart_free_protocol = 1)、eg:uart_set_timeout(0,0)でよく使用されます。

1.8.3 uart_set_baudrate(baudrate)

  • ボーレート:ボーレート、2400bps ~ 96 1,200 bpsをサポート
uart_set_baudrate(96 00)のようなボーレートの設定

1.8.4 uart_get_baudrate()

ボーレートを取得し、ボーレート値を返す

local baudrate = uart_get_baudrate()

1.8.5 on_uart_recv_data(packet)

シリアルデータを受信するコールバック関数には、この関数の実行をトリガーする方法が2つあります。

☆カスタムシリアルポート命令を使用する:フォーマットはEE B 5 [カスタムデータ] FF FC FF FF

フリーシリアルプロトコルを使用する:LUAスクリプトでグローバル変数uart_free_protocol = 1を定義する

  • packet:受信したデータのバイト

1.8.6 uart_setup(baudrate,parity,stopbit,databits)

シリアルパラメータ設定

  • baudrate:ボーレートの値
  • parity 0-無検証、1-ODD奇数検証、2-EVEN偶数検証
  • stopbit:stopbit=0、1ストップビット、stopbit=1、1.5ストップビット
  • データビット:5~8のデータ

1.9 CANインタフェース

1.9.1 canbus_open(index,baudrate,listen_mode,loop_back)

CANBUSインタフェースを開く

  • index:インデックス番号0~1
  • ボーレートボーレートK単位、オプション125、250、500、1000
  • listen_mode読み取り専用モード
  • loop_back:自己回収(ループバック/セルフテスト)

1.9.2 canbus_close(index)

CANBUSインタフェースを閉じる

  • index:インデックス番号0~1

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

CANメッセージの送信

  • index:インデックス番号0~1
  • Identifier:メッセージID
  • DLC:データ長
  • RTR:リモートフレーム
  • ide:拡張フレーム
  • data:データ、テーブル形式

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

CANメッセージコールバック関数、メッセージ受信後、システムが自動的に呼び出す

  • index:インデックス番号0~1
  • Identifier:メッセージID
  • DLC:データ長
  • RTR:リモートフレーム
  • ide:拡張フレーム
  • data:データ、テーブル形式

1.10オーディオ·ビデオ

Wシリーズ、Fシリーズ、Mシリーズはオーディオ再生をサポートし、Wシリーズ、Mシリーズはビデオ再生をサポートし、Fタイプはサポートしない

1.10.1 play_sound(filename)

指定したサウンドファイルの再生オンスクリーンオーディオファイルなど

  • filenameパス
画面内のパス:
Wシリーズplay_sound a/sounds/welcome.wav
M、Fシリーズplay_sound 3/sounds/welcome.wav

1.10.2 stop_sound()

演奏を停止。

1.10.3 on_audio_callback (state)

サウンド再生終了コールバック通知

  • state予約は未使用です。

1.10.4 set_volume(level)

音量の設定

  • レベル:音量レベル0~100。0音、100最大音量

1.10.5 get_volume()

取得ボリューム、戻り値0 ~ 100

1.10.6 play_video(pathname,repeat)

ビデオ再生、M/F/Xシリーズでは使用できない

pathnameはビデオパスです。

repeatは返し回数、0は无制限回、

画面内ビデオの再生play_o a/Videos/1.4 0

1.10.7 pause_video()

ビデオ再生の一時停止、Fシリーズではサポートされていません

1.10.8 resume_video()

ビデオ再生の再開、Fシリーズではサポートされていません

1.10.9 stop_video()

ビデオ再生を停止、Fシリーズではサポートされていません

1.10.10 play_video(file,left,top,width,height)

動画再生,M/Xシリーズ,Fシリーズ/IoT対応なし

file:ファイルパス

左:開始座標x

top:開始座標y

width:ビデオの幅

height:ビデオの高さ

1.10.11 on_video_notify(msg,v1, v2)

ビデオ再生コールバック関数

msg:1-再生中、0-再生終了

v1現在の再生進行状況、現在の放送時間、単位s

v2再生の、のビデオの、単位s

1.10.12 set_av_channel(channel)

AVチャンネルの切り替え、Mシリーズ、IoT、Fシリーズ非対応

channel = 0、channel 1に切り替える

チャンネル1、チャンネル2に切り替える

1.11フラッシュメモリの読み書き

画面には128Kユーザー FLASHが搭載され、設定パラメータを保存できます。

ファームウェアバージョン:Wシリーズ=3.0.590 0、Fシリーズ= 4.1.401.0、Mシリーズ= V6.1.59.00

1.11.1 write_flash(addr,data)

書き込みユーザー FLASHデータ、アドレスアドレスアドレス、データバイト配列、インデックスは0から始まります。

1.11.2 read_flash(addr,length)

読み取りユーザFLASHデータ、アドレスアドレスアドレス、長さ読み取りバイト数、戻り値の型はバイト配列、添字は0から始まる。

data = read_flash(addr,length)

1.11.3 write_flash_string(addr,str)

指定したFLASHアドレスに文字列を書き込む

1.11.4 read_flash_string(addr)

指定されたFLASHアドレスから文字列を読み取り、成功して文字列を返し、失敗してnilを返す

str = read_flash_string(addr)

1.11.5 flush_flash()

FLASH書き込み操作のキャッシュ最適化により、書き込み効率が向上

flush_flashはデータをフラッシュに書き込む。

1.12ファイルシステムの操作

ファイルシステムの読み書きインタフェース、Mシリーズ専用、モノの使用の個別機能、Mシリーズ専用の一部については言及していません。

1.12.1 list_dir(path)

指定したディレクトリ内のファイルとフォルダを走査し、成功してtrueを返し、失敗してfalseを返します。

  • path:ファイルパス
  • filename:ファイル名
  • type:0-フォルダ、1-ファイル
  • fsize:ファイルサイズ

次のコールバック関数でフォルダの内容を返します

on_list_dir(path,filename,type,fsize)

1.12.2 file_open(path,mode)

ファイルを開き、成功してtrueを返し、失敗してfalseを返します。

  • path-ファイルパス
  • mode-次の組み合わせで開くモード。
FA_OPEN_EXISTINGFA_READFA_WRITEFA_CREATE_NEWFA_CREATE_ALWAYSFA_OPEN_ALWAYS
0x000x010x020x040x080x10

例えば:

読み取り用にファイルを開くfile_open path、0x01
书き込み用のファイルの作成file_open path 0x02| 0 x 0 8 NDMP

1.12.3 file_close()

ファイルを閉じ、成功してtrueを返し、失敗してfalseを返します。

1.12.4 file_size()

現在のファイルサイズを取得し、バイト数を返す

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

1.12.5 file_seek(offset)

ファイルの読み取り位置を指定し、成功してtrueを返し、失敗してfalseを返します。

  • offsetファイルのオフセット位置

1.12.6 file_read(count)

ファイルの内容を読み取り、テーブル配列を正常に返し、失敗してnilを返す

  • count:読み取りバイト数、最大2048バイト

1.12.7 file_write(data)

ファイルの内容を書き込み、成功してtrue、失敗してfalseを返す

  • data-書き込まれるテーブルの配列、インデックスは0から始まり、最大2048バイト。

1.12.8 file_delete(path)

  • path:削除するファイルのパス

1.12.9 file_copy(src_path, dst_path)

  • src_pathソースファイルのパス
  • dst_pathターゲットファイルのパス

1.12.10 start_copy_file (from,to)

注意:この機能はすべての人にのみ使用されます!!

ファイルのコピー

  • from:ソースパス
  • to:ターゲットパス

ファイルのコピー中にファイルのコピーの進行状況通知を自動的にコールバック

on_copy_file_process(status,filesize,transfersize)

1.12.11 on_copy_file_process(status,filesize,transfersize)

注:この機能はモノ/Mシリーズ共通です!!!

ファイル·コピーの進行状況。file_copy src_path、dst_pathで使用されます。file_copyが呼び出されると自動的にon_copy_file_process関数にコールバックされます。

  • statusステータス。0-失敗、1-コピー中、2-コピー完了
  • filesize:コピーされるファイルサイズ
  • transfersize:現在のコールバックコピーのバイト数

1.13その他の

1.13.1 set_backlight(level)

バックライト輝度の設定

  • レベル:0~100、0が最も暗く、100が最も明るい

1.13.2 get_backlight()

明るさのパーセンテージを取得し、100段階で数値を返す

例:level = get_backlight

1.13.3 set_language(lang)

現在の言語オプションの設定

  • lang:0から始まる言語インデックス。英語プロンプトキーボードを使用する場合、または0 x 80
例:設定言語1(インデックス0)
キーボードset_language 0
キーボードset_language 0 x 80| 0の

1.13.4 get_language ()

現在の言語オプションの取得

lang:0から始まる言語インデックスに戻ります。英語プロンプトキーボードを使用する場合は、言語項目または0 x 80を取得します。

例現在の言語1インデックス0 cur_lang = get_language
キーボード:cur_lang = 0
キーボード:cur_lang = 0 x 80

1.13.5 set_wakeup_mode (mode)

ウェイクアップモード設定、組み合わせ設定が可能、Wシリーズサポート、Mシリーズ、Fシリーズサポートなし

  • モード:0 x 1クリックでウェイクアップ、0 x 2ダブルクリックでウェイクアップ、0 x 4シリアルウェイクアップ

1.13.6 sleepmode (on)

  • on:1に等しい

スリープ低消費電力モードに移行し、スリープ後の画面機能は動作しなくなり、タッチウェイクアップのみを使用

1.13.7 standbymode (on)

スタンバイ低消費電力モードに入り、画面シリアルポートが正常に動作します。Wシリーズはサポート、Mシリーズ、Fシリーズはサポートしない

1.13.8 beep(time)

ブザーが鳴る時間が長い

  • time:ミリ秒単位

1.13.9 get_tick_count ()

電源投入後の実行時間を10ms単位で取得します。

32ビットカウンタ、オーバーフローから約49日後にゼロにリセット。

1.13.10 get_date_time ()

7つの引数を返す現在の日付時刻を取得

year,mon,day,hour,min,sec,week = get_date_time()
  • year:年
  • タグ:月
  • 日:日。
  • 時間:時に
  • タグ:分
  • sec:秒
  • week:曜日x、日曜日0

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

現在の日時の設定

  • year:年
  • タグ:月
  • 日:日。
  • 時間:時に
  • タグ:分
  • sec:秒
set_date_time(year,mon,day,hour,min,sec)

1.13.12 upgrade_logo (url)

Uディスクを介して起動ロゴを更新し、Wシリーズサポート、Fシリーズ、Mシリーズサポートなし

  • URL:画像の経路
function on_usb_inserted(driver)
    upgrade_logo(driver..'logo.jpeg')
end

1.13.13 gpio_set_in (pin)

PINピンを入力モードに設定、Wシリーズ、Mシリーズ対応、Fシリーズ非対応

1.13.14 gpio_set_out (pin)

PIN端子を出力モードに設定、Wシリーズ、Mシリーズ対応、Fシリーズ非対応

1.13.15 gpio_set_value (pin,value)

出力PINピンを(High 1/Low 0)に設定し、Wシリーズ、Mシリーズ対応、Fシリーズ対応なし

1.13.16 gpio_get_value (pin)

入力PINピンレベルの取得(High 1/Low 0)、Wシリーズ、Mシリーズ対応、Fシリーズ非対応

1.13.18 feed_dog ()

スクリプト内で5秒以上かかる操作は、犬に餌を与える必要があります。

Wシリーズは非対応、Fシリーズ、Mシリーズは対応。

1.13.19 get_pixel(x,y)

対応する座標のRGB565値を取得する

Wシリーズ、Mシリーズはサポートされており、Fシリーズはサポートされていない。

1.13.20 refresh_screen()

画面の更新

1.13.21 get_version()

ファームウェアのバージョン番号を取得します。文字列を返す

この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注