Hello Guest, Welcome to Apnea Board !
As a guest, you are limited to certain areas of the board and there are some features you can't use.
To post a message, you must create a free account using a valid email address.

or Create an Account

New Posts   Today's Posts

LUA Scripting on FlashAir 3
LUA scripting
Scraped from http://www.lua.org/about.html
What is Lua?

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

FlashAir 3.0 supports some of LUA but it does have limitations due to the size of its memory.
Flashair 3.0 doesn't support coroutine, OS library, math or the debug.
This is flashair developers text on LUA: https://flashair-developers.com/en/documents/api/lua/
Functions that Flashair supports: https://flashair-developers.com/en/docum...reference/

After another user here had issues locating the IP address of their DHCP enabled card, I whipped up a small script, albeit a little late, to write the IP information to a text file.

Feel free to steal it if you are having issues trying to locate the card's IP. Script grabs a list of SSIDs of the wifi routers it discovered, useful to tell if your card even sees your wifi router, and the IP info of the card then writes it to a text file on the FlashAir.

Copy the script below to the root of the FlashAir card (I named it wifistatus.lua) and add this line to your CONFIG:

This script will run at boot up.

If you put the card into your SD card reader and wait about 15 to 30 seconds, you can open the ssid.txt file that this script creates and find what IP the card was given. The chances of your card getting a different IP after that are slim and the card should have the same IP after you return it to your CPAP. If you can connect to your card through webdav you can open the file from there and find the IP as well.

Here is the script:

This script will scan for wifi networks and lists all SSID it finds
Will also attempt to log the IP, subnetmask and gateway of the card

ssidfile  = "ssid.txt"

local function waitWlanConnect()
   while 1 do
       local res = fa.ReadStatusReg()
       local a = string.sub(res, 13, 16)
       a = tonumber(a, 16)
       if (bit32.extract(a, 15) == 1) then
       if (bit32.extract(a, 0) == 1) then
           print("mode Bridge")
       if (bit32.extract(a, 12) == 1) then
           print("mode AP")

local function writeInfo(_oFile)
local sfile = io.open(_oFile, "w")
count = fa.Scan()

ip, mask, gw = fa.ip()
sfile:write("IP: "..ip.."\r\n")
sfile:write("mask: "..mask.."\r\n")
sfile:write("gw: "..gw.."\r\n")
sfile:write("SSID list:".."\r\n")
for i=0, (count-1), 1 do
ssid, other = fa.GetScanInfo(i)
sfile:write(i..": "..ssid.."\r\n")

-- Main script

This is what the script writes to the ssid.txt file:
SSID list:
0: xxxxxx
1: xfinitywifi
2: X

Using FlashAir W-03 SD card in machine. Access through wifi with FlashPAP or Sleep Master utilities.

I wanted to learn Binary so I enrolled in Binary 101. I seemed to have missed the first four courses. Big Grinnie

Post Reply Post Reply

Donate to Apnea Board  
like that's actually awesome - thanks very much for sharing this.

as you obviously have 'some' experience with the flash-card:
how much useable RAM is there (in terms of useable from "inside" lua / cgi - not before)? and how much does it affect heat? (I'm more talking about some excessive scripts)
Post Reply Post Reply
Not sure on the memory. I read somewhere someone did a mem dump of about 2mb. The script above runs at boot and never again until next card cycle. Never tried a script that would run continuously such as one that fires on an "event". Should try it and see how hot it gets.

Using FlashAir W-03 SD card in machine. Access through wifi with FlashPAP or Sleep Master utilities.

I wanted to learn Binary so I enrolled in Binary 101. I seemed to have missed the first four courses. Big Grinnie

Post Reply Post Reply
Copied from the Flashair developer page:

Memory size (HTTPDBUFF)
"By reducing the amount of memory used in the HTTP server, you can increase the amount of memory used in Lua script execution. Note that in the case of reducing the memory of the HTTP server, the download throughput will decrease. The range of value is from 2920 to 23360. Default value is 23360."

Post Reply Post Reply
if this numbers would be KB and not Bytes that would really be promising. ... but in the end it depends a bit on the heat the scripts (can) produce.
Post Reply Post Reply

Donate to Apnea Board  

Possibly Related Threads...
Thread Author Replies Views Last Post
  Has anyone used a FlashAir card in a Resmed Aircurve 10 Asv notsleep 21 4,794 05-17-2018, 01:12 AM
Last Post: bernie01
  FlashPAP - FlashAir WiFi SD card utility TiredToo 258 49,313 04-17-2018, 11:16 AM
Last Post: AlanE
  FlashPAP / Flashair - Connection Refused? IMSleeplessInSeattle 9 1,142 04-17-2018, 11:12 AM
Last Post: AlanE
  FlashAir extend WiFi range dwd1249 10 1,080 04-08-2018, 02:48 PM
Last Post: Sheepish
  FlashAir Bandwidth Limitation Crimson Nape 2 312 03-07-2018, 11:46 AM
Last Post: sonicboom
  Problems with Flashair silversnore 13 747 03-06-2018, 08:58 PM
Last Post: AlanE
  Guide to using the Flashair in Station Mode with the ResMed S9 gegtik 9 711 03-01-2018, 06:49 AM
Last Post: foxfire

Forum Jump:

New Posts   Today's Posts

About Apnea Board

Apnea Board is an educational web site designed to empower Sleep Apnea patients.