Commit graph

179 commits

Author SHA1 Message Date
ourairquality
e6eda5c3ff i2c: use open drain for output rather than flipping between input and output. 2016-09-01 22:48:02 +10:00
rongsaws
7041c014bb Added a MQTT pub/sub example of using AWS IoT (#173)
* Added a MQTT pub/sub example of using AWS IoT (via ECC based TLS1.2 connection).

* Fixed a buffer overflow issue when receiving large MQTT packet.

* Reset TLS connection on read/write errors.
2016-08-29 19:55:32 +02:00
ourairquality
f0c43ff5d5 BME280 support.
The BME280 is close to compatible with the existing BMP280 and extends it with support for measuring humidity, so support has been bundled into the bmp280 driver.

The example now auto-detects the device and displays the humidity for the BME280.

The I2C bus initialization has been moved out of the bmp280 driver to support multiple devices.

The check-id and reset logic has been bundled into the driver initialization. It needs to be re-initialized after reset anyway and the chip-id is need to initialize it, just re-initialize to reset.

Support has been added for multiple devices. The calibration data storage needs to be managed by the caller rather than static data. The caller can choose the I2C address to allow two BMx280 devices to be used on the same I2C bus.

An interface has been added to return the measurement values in an integer fixed float format. The float format interface is still there.

All the values are read in one I2C transaction to ensure they are a consistent set.

Renamed bmp280_calib_t to bmp280_t, and removed read_register8.
2016-08-17 23:33:04 +10:00
sheinz
666f821263 ws2812_i2s: WS2812 leds driver implementation using i2s_dma library 2016-08-16 10:53:56 +03:00
sheinz
27135d6252 i2s_dma: Implementation of I2S + DMA wrapper library 2016-08-16 10:19:33 +03:00
Peter Andersson
5ea0228639 spiffs: enable temporal cache for spiffs v 0.3.6 2016-08-14 15:15:45 +02:00
Johan Kanflo
0c09054f3e Merge pull request #178 from sheinz/feature/spiffs_update
SPIFFS: Selectable configuration of SPIFFS
2016-08-09 22:32:37 +02:00
Johan Kanflo
a868f9dadb Updated SPIFFS to 0.3.6 2016-08-09 20:33:40 +02:00
sheinz
5051c5c528 SPIFFS: Selectable configuration of SPIFFS 2016-08-08 23:18:15 +03:00
sheinz
964a2f850a Merge pull request #165 from ourairquality/bmp180-rework
bmp180: make a lower level interface available and support oversampling.
2016-08-06 00:39:43 +03:00
Bhuvanchandra
782cdfd11d extras: ds3231: Add support for DS3231 real-time clock (RTC)
Add support for DS3231 extremely accurate I2C real-time clock (RTC).

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@gmail.com>
2016-08-03 01:23:43 +00:00
Johan Kanflo
083aa0451a Merge pull request #163 from sheinz/feature/spiffs
File system support. SPIFFS integration.
2016-08-02 15:42:22 +02:00
sheinz
d69b8390d4 SPIFFS: Fix PR review comments.
* Enable SPIFFS_USE_MAGIC
 * Enable SPIFFS_USE_MAGIC_LENGTH
 * Enable SPIFFS_FILEHDL_OFFSET
 * Rebuild mkspiffs if spiffs_config.h is changed
 * Emulate NOR flash in mkspiffs
 * Build spiffs image in 'flash' and 'test' targets
2016-07-27 10:12:59 +03:00
sheinz
0ec47b5de9 Merge branch 'feature/spiffs' into experiments/spi_flash_reimplement 2016-07-21 16:48:26 +03:00
sheinz
38cccbd456 SPIFFS: Optimized SPI data read/write.
Unaligned read/write from/to SPI data registers is rewritten in
assembler to improve performance.
2016-07-21 16:36:55 +03:00
ourairquality
41d4427fba bmp180: separate the task and queue interface from the lower level support.
This just separates them in the one file leaving it as possible future change to actually remove the higher level api or move it to an example.
2016-07-20 18:52:13 +10:00
ourairquality
05bbe48bd4 bmp180: make a lower level interface available and support oversampling.
An application using multiple I2C devices will need it's own
loop. This reworks the code to make the detection, calibration
constant loading, and measurment functions available too without
having to use the bmp810 task which is still retained.

Adds support for oversampling.

Fixes a bug in the calculation of the temperature.

Better error handling. Checks for I2C errors and errors in the loading
of the calibration constants and propagates these up.
2016-07-20 18:42:51 +10:00
sheinz
281faa2cac SPIFFS: Wait SPI idle optimization. 2016-07-19 17:38:21 +03:00
Angus Gratton
22c480b583 Merge pull request #160 from sheinz/feature/bmp280
BMP280 pressure sensor driver and example.
2016-07-19 08:22:14 +10:00
Johan Kanflo
38375e218a Merge pull request #164 from ourairquality/i2c-open-drain
i2c: use open drain outputs.
2016-07-18 22:01:34 +02:00
sheinz
4b1568cbb9 SPIFFS: flash access refactoring. 2016-07-18 13:12:21 +03:00
ourairquality
16157080cd i2c: use open drain outputs.
Configure the pins as open-drain just in case the code forces them
high although it should be configuring them as inputs to let them float high.

Initialize the pins when the driver is initialized.

Enable the internal pull-ups to prevent them floating too high if not
connected and damaging the circuit.
2016-07-18 14:35:01 +10:00
sheinz
5d5f28a22f SPIFFS: Bypass SDK and bootrom for flash access.
Accessing SPI flash using reversed engineered functions.
2016-07-16 00:22:33 +03:00
sheinz
fb187eae08 Merge branch 'feature/spiffs' into experiments/spi_flash_reimplement 2016-07-16 00:19:21 +03:00
sheinz
0a98f43902 SPIFFS: Fixed linux build and travis build
mkspiffs utility explicitly use gcc to compile
2016-07-15 19:01:17 +03:00
sheinz
55b7d29767 SPIFFS: Fix SPIFFS rebuild if SIZE is changed. 2016-07-15 15:44:22 +03:00
sheinz
924860a78f SPIFFS: Update example, README.md
Separate method to initialize SPIFFS memory buffers.
REDME.md for spiffs component.
Simplify spiffs example.
2016-07-15 15:22:03 +03:00
sheinz
66610c56cb SPIFFS: Improve SPIFFS image build
Rebuild SPIFFS image if files change.
Rebuild mkspiffs if SPIFFS_SIZE is changed in Makefile.
2016-07-15 01:21:32 +03:00
sheinz
22654a4de7 SPIFFS: Support lseek, stat, fstat
Support for lseek, stat, fstat added.
Test extended to covert those functions.
2016-07-14 16:13:03 +03:00
sheinz
bfa20af855 Fix branch merging.
Changes in esp_spiffs.c recovered.
2016-07-14 15:44:02 +03:00
sheinz
d25b8b2a55 Create SPIFFS image and flash it.
mkspiffs is added to create SPIFFS image from directory with files.
Build process changed to flash SPIFFS image if necessary
2016-07-14 14:49:34 +03:00
sheinz
5c12b7c7e9 Draft implementation of SPIFFS integration 2016-07-14 14:49:34 +03:00
Angus Gratton
eac9504d8a Merge pull request #158 from baoshi/mqtt_fix
Handling MQTT read failure and send buffer length
2016-07-14 07:30:35 +10:00
Angus Gratton
b15b536e40 Merge pull request #154 from SuperHouse/open-libmain
First open_esplibs batch, libmain (most of libmain open sourced)
2016-07-14 07:29:28 +10:00
sheinz
91e2f6c0a1 BMP280 driver: typo fixed 2016-07-08 14:59:21 +03:00
sheinz
db4e39b8bd Update component.mk
Comment typo fixed.
2016-07-08 12:52:54 +03:00
sheinz
a155928f19 Update README.md 2016-07-08 12:49:51 +03:00
sheinz
c19126fc13 BMP280 driver: Add README.md 2016-07-08 12:40:15 +03:00
sheinz
440ad67834 BMP280 driver: Forced mode. Soft reset. 2016-07-07 23:39:25 +03:00
sheinz
4a2679271e BMP280 pressure sensor driver draft implementation. 2016-07-07 18:04:17 +03:00
sheinz
6ff78f802d DHT11/DHT22 library fixes.
Fixed temperature below zero.
Fixed checksum overflow verification.
Fixed inconsistent reading of DHT11.
2016-07-06 21:01:44 +03:00
sheinz
a41407e3d1 DHT11/22 library fix
Support DHT11/DHT22 modules.
Data representation fix.
Library refactoring.
2016-07-06 15:58:59 +03:00
Angus Gratton
e3827b2f1c Fix rboot-api sdk_spi_flash_read pointer types 2016-07-06 17:21:34 +10:00
baoshi
09a5ec062a Handling MQTT read failure and send buffer length 2016-07-05 21:37:47 +08:00
sheinz
33b63d46a5 Reverse engineered some spi_flash functions 2016-06-29 00:47:14 +03:00
sheinz
ab795350fb Draft implementation of SPIFFS integration 2016-06-27 18:06:06 +03:00
iosen
37180024f4 sntp: free the pbuf after sending the request
Fixes a memory leak.
2016-06-26 21:36:04 +10:00
Kenshi Kawaguchi
84856f80a9 ota_tftp_download takes an optional receive_cb that will report on the status of the TFTP transfer 2016-05-28 11:27:10 +10:00
Angus Gratton
d9202af2aa Use latest upstream rboot, always build with OTA - use prebuilt rboot if
none is compiled locally.
2016-05-28 11:27:10 +10:00
Angus Gratton
1f1881a452 rboot-ota: Always put a checksum in rboot config
Means bootloader will still work if configured to verify the checksum
2016-05-28 11:27:10 +10:00
Angus Gratton
53b2b50241 rboot: Add cryptographic digest support for OTA images & SHA256 example 2016-05-28 11:27:10 +10:00
Angus Gratton
03559de5cb Move rboot_verify_image to rboot-api
Removes rboot-integration.c, removes need for clients to include rboot-integration.h
2016-05-28 11:27:10 +10:00
Angus Gratton
6eceb5843c OTA: Move OTA-aware Cache_Read_Enable to core
Otherwise images built with OTA=1 are only OTA-suitable if they also
link rboot-ota.
2016-05-28 11:27:10 +10:00
Angus Gratton
e671927bd0 OTA: Add TFTP client mode, expand ota_basic example. 2016-05-28 11:27:10 +10:00
Angus Gratton
d5221e7efa mbedtls: Remove WIN32 #ifdef sections, use socket's SO_ERROR flag over errno when possible 2016-05-27 11:51:11 +10:00
Drasko DRASKOVIC
e7607ffc2b Add JSON support
This commits adds JSON support by adding Jsmn
(http://zserge.com/jsmn.html), a minimalistic JSON parser.

Signed-off-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
2016-05-15 22:32:14 +10:00
Angus Gratton
57c718d835 Travis: Work around 4MB log limit when building all examples 2016-05-15 22:16:42 +10:00
Angus Gratton
5809a0119b Merge pull request #114 from doragasu/sntp
Added sntp support and example
2016-05-15 20:42:35 +10:00
jsuiker
99eba80c4d Added DHT library to extras and sample code to examples 2016-04-25 01:58:09 +00:00
Angus Gratton
8453445620 mbedtls: Update to upstream v2.3.0 2016-04-20 09:05:33 +10:00
Angus Gratton
736e790e80 Merge pull request #124 from kanflo/rboot-merge
Updated rboot to #75ca33b including the flash write bug.
2016-04-15 11:19:56 +10:00
Yudi Ludkevich
7e9d5bd2e2 MQTT client api and example
This code based on ESP8266 port of the embedded C client in Eclipse Paho project
(http://www.eclipse.org/paho/) and it port for espressif
ESP8266_RTOS_SDK by baoshi (https://github.com/baoshi/ESP-RTOS-Paho.git)
2016-04-14 16:59:07 +10:00
Johan Kanflo
9c49134d61 Updated rboot to #75ca33b including the flash write bug. 2016-04-07 20:29:28 +02:00
Alex Stewart
494c2d9cec Implement new ds18b20 APIs 2016-04-05 10:05:42 -07:00
Alex Stewart
60e468bdb2 Misc ds18b20 fixups/enhancements
add onewire_power() after CONVERT_T
Fix naming of DS18B20_* constants
2016-04-05 10:04:56 -07:00
Alex Stewart
9c37da6834 Add more documentation for onewire.h 2016-04-05 10:04:31 -07:00
Alex Stewart
9b49b426f6 Added error-checking in onewire routines 2016-04-05 10:04:31 -07:00
Alex Stewart
a2b9d688ea Multiple cleanups/tweaks for onewire driver
Use onewire_addr_t for onewire addresses
Move internal defines out of onewire.h
Remove global variables for search state
use taskENTER_CRITICAL instead of portDISABLE_INTERRUPTS
remove unnecessary onewire_init function
Remove unnecessary critical sections
Use GPIO_OUT_OPEN_DRAIN
reformat/style cleanup
2016-04-05 10:03:17 -07:00
doragasu
11c9031d9b Removed my _time() implementation to use newlib provided one. 2016-03-31 16:05:15 +02:00
doragasu
9651692ca2 Cleanup and some changes to make implementation a bit more conforming to the standard. 2016-03-13 18:29:30 +01:00
doragasu
f14025b1c7 Removed non working clock_* calls from example. Using vars for tz and dst. 2016-03-13 17:04:03 +01:00
doragasu
0482aebf7d Added quick and dirty _gettimeofday_r() test implementation. 2016-03-11 13:11:15 +01:00
doragasu
16c831fffa Added sntp support and example 2016-03-09 17:18:51 +01:00
Alex Stewart
6c50e968f5 Merge pull request #107 from UncleRus/extras/pcf8574
Driver for PCF8574 (8-bit I2C GPIO expander)
2016-03-07 19:06:09 -08:00
Angus Gratton
81df978fa9 Add missing MIT license for rboot-ota 2016-03-03 08:15:21 +11:00
Angus Gratton
f360935800 Merge pull request #106 from MightyPork/ws2812b-driver
WS2812B driver & example
2016-03-02 21:10:19 +11:00
Ondřej Hruška
b0e683b909 Use anonymous struct in ws2812_rgb_t. 2016-03-01 23:17:13 +01:00
UncleRus
124332b5ea License changed to MIT 2016-03-02 02:19:46 +05:00
UncleRus
03ee667d5d Tabs replaced to spaces 2016-03-02 02:17:07 +05:00
UncleRus
875db616ae Driver for PCF8574 (8-bit I2C GPIO expander) 2016-03-02 00:52:13 +05:00
Ondřej Hruška
e97dca4859 Added WS2812 driver and examples (squashed commits) 2016-03-01 14:06:40 +01:00
darksv
dc2c4be4e9 Fix delay in DS18B20 driver
There is a bug in the driver for DS18B20: instead of delaying for 750ms it waits only for 750us, which obviously causes that read temprature is not valid (it's default 85 degrees).
2016-02-28 11:30:16 +01:00
Grzegorz Hetman
b5f1c893bf Merge branch 'master' into ds18b20 2016-02-24 17:05:20 +01:00
Alex Stewart
d0ed5f03a2 A couple of fixups prior to merging into main project
Changed the ds_sensor_t struct to just return a float instead of major/minor
Renamed ds18b20.h functions to have consistent `ds18b20_*` naming.
Removed some unnecessary LICENSE files.  Clarified onewire origin/license.
2016-02-22 21:18:50 -08:00
Angus Gratton
7c1d7fb43e Merge branch 'feature/dhcp-server' 2016-02-21 10:36:28 +11:00
Grzegorz Hetman
6178865cc6 Add clear version of commit 72f30ad. 2016-02-18 18:42:50 +01:00
Angus Gratton
3dfa2272cc mbedtls: mbedlts_net_bind should bind on all interfaces with bind_ip == NULL
As per mbedtls documentation. This is different to lwip_getaddrinfo()
which uses loopback for a NULL address.

Fixes bug mentioned here https://groups.google.com/forum/#!topic/esp-open-rtos/3KH5TZSTMUw
2016-02-09 10:54:57 +11:00
Angus Gratton
e2759f9e7d Merge pull request #77 from jcard0na/master
Initial PWM implementation from gpascualg
2016-02-09 09:30:51 +11:00
Angus Gratton
d5e50edc0b ota_basic example, ota-tftp support: Add links to the new OTA wiki page 2016-02-08 16:58:31 +11:00
Blipi
72d5dd99fb Initial PWM implementation from gpascualg 2015-12-11 15:20:28 -08:00
Angus Gratton
336bad573d timers.h: Remove compile-time-auto-inlining complexity
Fixes bug mentioned in #72 (oops!), also progress towards #57.
2015-11-28 16:32:52 +11:00
Angus Gratton
d14d5b1aab stdin_uart_interrupt driver: Don't reset TX FIFO (loses output otherwise)
Fixes bug in 'terminal' example where banner message didn't print on startup.

Relates to #59.
2015-11-21 17:13:08 +11:00
Johan Kanflo
4cfe40d348 extras/stdin_uart_interrupt: stdin via IRQ driven RX driver on UART0
See examples/terminal/ for usage
2015-11-21 16:15:58 +11:00
Angus Gratton
65307aed75 Merge branch 'feature/mbedtls' 2015-09-28 13:29:38 +10:00
Angus Gratton
1907e3c45e Remove extraneous extras/ subdirs - all merged into cpp_support now 2015-09-25 18:26:51 +10:00
Angus Gratton
87f77b1021 Refactor Hardware RNG functions to esp/hwrand.h
As suggested by @foogod, thanks!
2015-09-24 20:48:16 +10:00
Angus Gratton
09405a9095 Merge branch 'master' into feature/mbedtls 2015-09-24 20:40:36 +10:00
Angus Gratton
43a8bf2087 Merge branch 'master' into feature/dhcp-server 2015-09-24 08:33:48 +10:00
Angus Gratton
a0a23ae232 dhcpserver: Cleanup find_lease routine, fix bug 2015-09-23 22:24:30 +10:00
Angus Gratton
c5a53c87fa bmp180: Fix more 'temperatue' typos (thanks @atomman) 2015-09-21 08:46:45 +10:00