Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
30fbd20b
Commit
30fbd20b
authored
Nov 10, 2014
by
funshine
Browse files
update readme
parent
5be9f9cc
Changes
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
30fbd20b
...
...
@@ -17,12 +17,12 @@ key is triged only when key is released<br />
# Summary
-
Easy to access wireless router
-
Based on Lua 5.1.4
,
Developer are supposed to have experience
in
Lua Program language.
-
Try to use
Event-Drive programming modal.
-
In-side
timer
,
pwm
,
i2c
,
net
,
gpio
,
wifi module.
-
Serial Port BaudRate:
7488
0
-
Re-
indexing the 8266
pin
,
use the index to program gpio
,
i2c
,
pwm.
-
Index vs Pin-number
Table:
-
Based on Lua 5.1.4
,
Developer
s
are supposed to have experience
with
Lua Program language.
-
Event-Drive programming modal.
-
Build-in file,
timer
,
pwm
,
i2c
,
net
,
gpio
,
wifi module.
-
Serial Port BaudRate:
960
0
-
Re-
mapped GPIO
pin
,
use the index to program gpio
,
i2c
,
pwm.
-
GPIO Map
Table:
<table>
<tr>
...
...
@@ -68,7 +68,7 @@ blank.bin: 0x7e000
<a
id=
"nm_restart"
></a>
## node.restart()
####Description
module
restart.
restart
the chip
.
####Syntax
...
...
@@ -93,16 +93,15 @@ nil
## node.dsleep()
####Description
enter deep sleep mode for us micro seconds,restart when timed out
<br
/>
us: sleep time in micro second
Enter deep sleep mode, wake up when timed out
<br
/>
####Syntax
node.dsleep(us)
<br
/>
**-Note:**
This function can only be used in the condition
of connecting
esp8266 PIN32(
rst
) and PIN8(XPD_DCDC) together.
**-Note:**
This function can only be used in the condition
that
esp8266 PIN32(
RST
) and PIN8(XPD_DCDC)
are connected
together.
####Parameters
us:sleep time in micro second
us:
sleep time in micro second
####Returns
nil
...
...
@@ -119,7 +118,7 @@ nil
<a
id=
"nm_chipid"
></a>
## node.chipid()
####Description
return chip
identifier
return chip
ID
####Syntax
node.chipid()
...
...
@@ -128,7 +127,7 @@ node.chipid()
nil
####Returns
number:chip
identifier
number:chip
ID
####Example
...
...
@@ -142,7 +141,7 @@ number:chip identifier
<a
id=
"nm_heap"
></a>
## node.heap()
####Description
return the
available RAM
size in bytes
return the
remain HEAP
size in bytes
####Syntax
node.heap()
...
...
@@ -151,7 +150,7 @@ node.heap()
nil
####Returns
number:system heap size left in bytes
number:
system heap size left in bytes
####Example
...
...
@@ -171,8 +170,8 @@ define button function.
node.key(type, function())
####Parameters
type: type is either string "long" or "short". long: press the
button
for 3 seconds, short: press shortly(less than 3 seconds)
<br
/>
function(): user defined function
for button
. If nil, cancling the user defined function
, function are initialized to default
.
<br
/>
type: type is either string "long" or "short". long: press the
key
for 3 seconds, short: press shortly(less than 3 seconds)
<br
/>
function(): user defined function
which is called when key is pressed
. If nil, cancling the user defined function.
<br
/>
Default function: long: change LED blinking rate, short: reset chip
####Returns
...
...
@@ -195,7 +194,7 @@ setup the on/off time for led
node.led(low, high)
####Parameters
Low: LED off time,
0 for
LED keeps on. Unit: milliseconds, time resolution: 80~100ms
<br
/>
Low: LED off time, LED keeps on
when low=0
. Unit: milliseconds, time resolution: 80~100ms
<br
/>
High: LED off time. Unit: milliseconds, time resolution: 80~100ms
####Returns
...
...
@@ -204,7 +203,7 @@ nil
####Example
```
//
turn led on forever.
--
turn led on forever.
node.led(0);
```
...
...
@@ -215,13 +214,13 @@ nil
<a
id=
"fl_remove"
></a>
## file.remove()
####Description
remove file from
user flash
.
remove file from
file system
.
####Syntax
file.remove(filename)
####Parameters
filename: file to
be
remove
d
filename: file to remove
####Returns
nil
...
...
@@ -229,7 +228,7 @@ nil
####Example
```
//
remove "foo.lua" from
user flash
.
--
remove "foo.lua" from
file system
.
file.remove("foo.lua")
```
...
...
@@ -261,7 +260,7 @@ nil
####Example
```
//
open 'init.lua', print the first line.
--
open 'init.lua', print the first line.
file.open("init.lua", "r")
print(file.readline())
file.close()
...
...
@@ -288,7 +287,7 @@ nil
####Example
```
//
open 'init.lua', print the first line.
--
open 'init.lua', print the first line.
file.open("init.lua", "r")
print(file.readline())
file.close()
...
...
@@ -301,7 +300,7 @@ nil
<a
id=
"fl_readline"
></a>
## file.readline()
####Description
read one line of file which is opened before
line by line
.
read one line of file which is opened before.
####Syntax
file.readline()
...
...
@@ -315,7 +314,7 @@ file content in string, line by line
####Example
```
//
print the first line of 'init.lua'
--
print the first line of 'init.lua'
file.open("init.lua", "r")
print(file.readline())
file.close()
...
...
@@ -343,9 +342,9 @@ nil: there is error
####Example
```
//
open 'init.lua' in 'a+' mode
--
open 'init.lua' in 'a+' mode
file.open("init.lua", "a+")
//
write 'foo bar' to the end of the file
--
write 'foo bar' to the end of the file
file.writeline('foo bar')
file.close()
```
...
...
@@ -372,9 +371,9 @@ nil: there is error
####Example
```
//
open 'init.lua' in 'a+' mode
--
open 'init.lua' in 'a+' mode
file.open("init.lua", "a+")
//
write 'foo bar' to the end of the file
--
write 'foo bar' to the end of the file
file.write('foo bar')
file.close()
```
...
...
@@ -400,9 +399,9 @@ nil
####Example
```
//
open 'init.lua' in 'a+' mode
--
open 'init.lua' in 'a+' mode
file.open("init.lua", "a+")
//
write 'foo bar' to the end of the file
--
write 'foo bar' to the end of the file
file.write('foo bar')
file.flush()
file.close()
...
...
@@ -445,13 +444,13 @@ wifi.STATION, wifi.SOFTAP, wifi.STATIONAP
<a
id=
"wf_setmode"
></a>
## wifi.setmode(mode)
####Description
set wifi operation mode.
set
up
wifi operation mode.
####Syntax
wifi.setmode(mode)
####Parameters
mode: value should be: wifi.
STATION, wifi.SOFTAP or wifi.STATIONAP
mode: value should be: wifi.STATION, wifi.SOFTAP or wifi.STATIONAP
####Returns
current mode after setup
...
...
@@ -493,15 +492,15 @@ wifi operation mode
<a
id=
"wf_startsmart"
></a>
## wifi.startsmart()
####Description
starts to auto configuration
,
if success set up ssid and pwd automatically .
starts to auto configuration
,
if success set up ssid and pwd automatically .
####Syntax
wifi.startsmart(channel, function succeed_callback())
####Parameters
channel: 1~13
,
startup channel for searching, if nil, default to 6. 20 seconds for each channel.
<br
/>
succeed_callback: callback function
for success
configuration, which is called
after getting the
password and
the
connect
ion
to AP.
channel: 1~13
,
startup channel for searching, if nil, default to 6. 20 seconds for each channel.
<br
/>
succeed_callback: callback function
called after
configuration, which is called
when got
password and connect
ed
to AP.
####Returns
nil
...
...
@@ -666,7 +665,7 @@ ip address in string, for example:"192.168.0.111"
####Example
```
//
print current ip
--
print current ip
print(wifi.sta.getip())
```
...
...
@@ -692,7 +691,7 @@ mac address in string, for example:"18-33-44-FE-55-BB"
####Example
```
//
print current mac address
--
print current mac address
print(wifi.sta.getmac())
```
...
...
@@ -800,7 +799,7 @@ nil
####Example
```
//
delay 100us
--
delay 100us
tmr.delay(100)
```
...
...
@@ -811,7 +810,7 @@ nil
<a
id=
"tm_now"
></a>
## tmr.now()
####Description
return the current value of system counter: uint32,
loopback,
us.
return the current value of system counter: uint32, us.
####Syntax
tmr.now()
...
...
@@ -825,7 +824,7 @@ uint32: value of counter
####Example
```
//
print current value of counter
--
print current value of counter
print(tmr.now())
```
...
...
@@ -852,7 +851,7 @@ nil
####Example
```
//
print "hello world" every 1000ms
--
print "hello world" every 1000ms
tmr.alarm(1000, 1, function() print("hello world") end )
```
...
...
@@ -865,7 +864,7 @@ nil
####Description
stop alarm.
<br
/>
**-Note:**
only one alarm is allowed, the previous one would be replaced if tmr.alarm() again before tmr.stop().
**-Note:**
only one alarm is allowed, the previous one would be replaced if tmr.alarm()
called
again before tmr.stop().
####Syntax
tmr.stop()
...
...
@@ -879,12 +878,12 @@ nil
####Example
```
//
print "hello world" every 1000ms
--
print "hello world" every 1000ms
tmr.alarm(1000, 1, function() print("hello world") end )
//
something else
--
something else
//
stop alarm
--
stop alarm
tmr.stop()
```
...
...
@@ -906,7 +905,7 @@ initialize pin to GPIO mode, set the pin in/out mode.
gpio.mode(pin, mode)
####Parameters
pin: 0~11
,
IO index
<br
/>
pin: 0~11
,
IO index
<br
/>
mode: gpio.OUTPUT or gpio.INPUT, or gpio.INT(interrupt mode)
####Returns
...
...
@@ -915,7 +914,7 @@ nil
####Example
```
//
set gpio 0 as output.
--
set gpio 0 as output.
gpio.mode(0, gpio.OUTPUT)
```
...
...
@@ -933,7 +932,7 @@ read pin value.
gpio.read(pin)
####Parameters
pin: 0~11
,
IO index
pin: 0~11
,
IO index
####Returns
number:0 - low, 1 - high
...
...
@@ -941,7 +940,7 @@ number:0 - low, 1 - high
####Example
```
//
read value of gpio 0.
--
read value of gpio 0.
gpio.read(0)
```
...
...
@@ -958,7 +957,7 @@ set pin value.
gpio.write(pin)
####Parameters
pin: 0~11
,
IO index
<br
/>
pin: 0~11
,
IO index
<br
/>
level: gpio.HIGH or gpio.LOW
####Returns
...
...
@@ -967,7 +966,7 @@ nil
####Example
```
//
set pin index 1 to GPIO mode, and set the pin to high.
--
set pin index 1 to GPIO mode, and set the pin to high.
pin=1
gpio.mode(pin, gpio.OUTPUT)
gpio.write(pin, gpio.HIGH)
...
...
@@ -987,7 +986,7 @@ set the interrupt callback function for pin.
gpio.trig(pin, type, function(level))
####Parameters
pin: 0~11
,
IO index
<br
/>
pin: 0~11
,
IO index
<br
/>
type: "up", "down", "both", "low", "high", which represent rising edge, falling edge, both edge, low level, high level trig mode separately.
<br
/>
function(level): callback function when triggered. The gpio level is the param. Use previous callback function if undefined here.
...
...
@@ -997,7 +996,7 @@ nil
####Example
```
//
use pin 0 as the input pulse width counter
--
use pin 0 as the input pulse width counter
pulse0 = 0
du = 0
gpio.mode(0,gpio.INT)
...
...
@@ -1026,9 +1025,9 @@ set pin to PWM mode. Only 3 pins can be set to PWM mode at the most.
pwm.setup(pin, clock, duty)
####Parameters
pin: 0~11
,
IO index
<br
/>
clock: 1~500
,
pwm frequency
<br
/>
duty: 0~100
,
pwm duty cycle in percentage
pin: 0~11
,
IO index
<br
/>
clock: 1~500
,
pwm frequency
<br
/>
duty: 0~100
,
pwm duty cycle in percentage
####Returns
nil
...
...
@@ -1036,7 +1035,7 @@ nil
####Example
```
//
set pin index 0 as pwm output, frequency is 100Hz, duty cycle is 50-50.
--
set pin index 0 as pwm output, frequency is 100Hz, duty cycle is 50-50.
pwm.setup(0, 100, 50)
```
...
...
@@ -1053,7 +1052,7 @@ quit PWM mode for specified pin.
pwm.close(pin)
####Parameters
pin: 0~11
,
IO index
pin: 0~11
,
IO index
####Returns
nil
...
...
@@ -1077,7 +1076,7 @@ pwm starts, you can detect the waveform on the gpio.
pwm.start(pin)
####Parameters
pin: 0~11
,
IO index
pin: 0~11
,
IO index
####Returns
nil
...
...
@@ -1101,7 +1100,7 @@ pause the output of PWM waveform.
pwm.stop(pin)
####Parameters
pin: 0~11
,
IO index
pin: 0~11
,
IO index
####Returns
nil
...
...
@@ -1127,7 +1126,7 @@ set pwm frequency for pin.<br />
pwm.setclock(pin, clock)
####Parameters
pin: 0~11
,
IO index.
<br
/>
pin: 0~11
,
IO index.
<br
/>
clock: 1~500, pwm frequency.
####Returns
...
...
@@ -1152,7 +1151,7 @@ get pwm frequency of pin.
pwm.getclock(pin)
####Parameters
pin: 0~11
,
IO index.
pin: 0~11
,
IO index.
####Returns
number:pwm frequency of pin
...
...
@@ -1176,8 +1175,8 @@ set duty clycle for pin.
pwm.setduty(pin, duty)
####Parameters
pin: 0~11
,
IO index
<br
/>
duty: 0~100
,
pwm duty cycle in percentage
pin: 0~11
,
IO index
<br
/>
duty: 0~100
,
pwm duty cycle in percentage
####Returns
nil
...
...
@@ -1201,7 +1200,7 @@ get duty clycle for pin.
pwm.getduty(pin)
####Parameters
pin: 0~11
,
IO index
pin: 0~11
,
IO index
####Returns
nil
...
...
@@ -1209,9 +1208,9 @@ nil
####Example
```
//
D0 is connected to green led
//
D1 is connected to blue led
//
D2 is connected to red led
--
D0 is connected to green led
--
D1 is connected to blue led
--
D2 is connected to red led
pwm.setup(0,500,50)
pwm.setup(1,500,50)
pwm.setup(2,500,50)
...
...
@@ -1223,8 +1222,8 @@ nil
pwm.setduty(1,b)
pwm.setduty(2,r)
end
led(50,0,0)
//
set led to red
led(0,0,50)
//
set led to blue.
led(50,0,0)
--
set led to red
led(0,0,50)
--
set led to blue.
```
...
...
@@ -1306,9 +1305,9 @@ nil
####Example
```
//
create a server
--
create a server
sv=net.createServer(net.TCP, false)
//
server listen on 80, if data received, print data to console, and send "hello world" to remote.
--
server listen on 80, if data received, print data to console, and send "hello world" to remote.
sv:listen(80,function(c)
c:on("receive", function(sck, pl) print(pl) end)
c:send("hello world")
...
...
@@ -1336,9 +1335,9 @@ nil
####Example
```
//
create a server
--
create a server
sv=net.createServer(net.TCP, false)
//
close server
--
close server
sv:close()
```
...
...
@@ -1394,9 +1393,9 @@ register callback function for event.
on(event, function cb())
####Parameters
event: string, which can be: "connection"
,
"reconnection"
,
"disconnection"
,
"receive"
,
"sent"
<br
/>
event: string, which can be: "connection"
,
"reconnection"
,
"disconnection"
,
"receive"
,
"sent"
<br
/>
function cb(net.socket, [string]): callback function. The first param is the socket.
<br
/>
If event is"receive"
,
the second param is received data in string.
If event is"receive"
,
the second param is received data in string.
####Returns
nil
...
...
@@ -1465,8 +1464,8 @@ i2c.setup(id, pinSDA, pinSCL, speed)
####Parameters
id = 0
<br
/>
pinSDA: 0~11
,
IO index
<br
/>
pinSCL: 0~11
,
IO index
<br
/>
pinSDA: 0~11
,
IO index
<br
/>
pinSCL: 0~11
,
IO index
<br
/>
speed: i2c.SLOW
####Returns
...
...
@@ -1578,10 +1577,10 @@ string:data received.
sda=1
scl=0
//
initialize i2c, set pin1 as sda, set pin0 as scl
--
initialize i2c, set pin1 as sda, set pin0 as scl
i2c.setup(id,sda,scl,i2c.SLOW)
//
user defined function: read from reg_addr content of dev_addr
--
user defined function: read from reg_addr content of dev_addr
function read_reg(dev_addr, reg_addr)
i2c.start(id)
i2c.address(id, dev_addr ,i2c.TRANSMITTER)
...
...
@@ -1594,7 +1593,7 @@ string:data received.
return c
end
//
get content of register 0xAA of device 0x77
--
get content of register 0xAA of device 0x77
reg = read_reg(0x77, 0xAA)
pirnt(string.byte(reg))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment