From d07aa63eef19f59ed97dedc5c2c4ddf689feb919 Mon Sep 17 00:00:00 2001 From: funshine Date: Sun, 7 Dec 2014 12:21:24 +0800 Subject: [PATCH] add 1-wire module, change net.socket.send() payload to max 1460 --- 0.9.2/512k-flash/nodemcu_512k.bin | Bin 520192 -> 520192 bytes README.md | 10 +++--- examples/ds18b20.lua | 50 ++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 examples/ds18b20.lua diff --git a/0.9.2/512k-flash/nodemcu_512k.bin b/0.9.2/512k-flash/nodemcu_512k.bin index d8371e030985518a63fb636bfe723cc394b48966..65a70e5831bef8f05aa2326ee9ab321920858cab 100644 GIT binary patch delta 52154 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�uo^iId>XPLU7> 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 P@!s-uZT{)2p7Q?zjDT`d diff --git a/README.md b/README.md index 9d15998b..6eddb6e8 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ # **NodeMcu** # ###A lua based firmware for wifi-soc esp8266 -version 0.9.2 build 2014-12-04 +version 0.9.2 build 2014-12-07 # Change log -2014-12-04
-fix memory leak issue when input and run from console. +2014-12-07
+add ow(1-wire module), from arduino, and use same api.
+add an 18b20 1-wire example.
+change net.socket.send() payload max len from 256 to 1460. [more change log](https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en#change_log)
[更多变更日志](https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_cn#change_log) @@ -11,7 +13,7 @@ fix memory leak issue when input and run from console. - Easy to access wireless router - Based on Lua 5.1.4 - Event-Drive programming preferred. -- Build-in file, timer, pwm, i2c, net, gpio, wifi, adc, uart and system api. +- Build-in file, timer, pwm, i2c, 1-wire, net, gpio, wifi, adc, uart and system api. - GPIO pin re-mapped, use the index to access gpio, i2c, pwm. - GPIO Map Table: diff --git a/examples/ds18b20.lua b/examples/ds18b20.lua new file mode 100644 index 00000000..ed29efa4 --- /dev/null +++ b/examples/ds18b20.lua @@ -0,0 +1,50 @@ +-- 18b20 Example +pin = 9 +ow.setup(pin) +count = 0 +repeat + count = count + 1 + addr = ow.reset_search(pin) + addr = ow.search(pin) + tmr.wdclr() +until((addr ~= nil) or (count > 100)) +if (addr == nil) then + print("No more addresses.") +else + print(addr:byte(1,8)) + crc = ow.crc8(string.sub(addr,1,7)) + if (crc == addr:byte(8)) then + if ((addr:byte(1) == 0x10) or (addr:byte(1) == 0x28)) then + print("Device is a DS18S20 family device.") + repeat + ow.reset(pin) + ow.select(pin, addr) + ow.write(pin, 0x44, 1) + tmr.delay(1000000) + present = ow.reset(pin) + ow.select(pin, addr) + ow.write(pin,0xBE,1) + print("P="..present) + data = nil + data = string.char(ow.read(pin)) + for i = 1, 8 do + data = data .. string.char(ow.read(pin)) + end + print(data:byte(1,9)) + crc = ow.crc8(string.sub(data,1,8)) + print("CRC="..crc) + if (crc == data:byte(9)) then + t = (data:byte(1) + data:byte(2) * 256) * 625 + t1 = t / 10000 + t2 = t % 10000 + print("Temperature="..t1.."."..t2.."Centigrade") + end + tmr.wdclr() + until false + else + print("Device family is not recognized.") + end + else + print("CRC is not valid!") + end +end \ No newline at end of file