Commit graph

217 commits

Author SHA1 Message Date
sheinz
95081a1e9f Merge pull request #186 from ourairquality/bme280
BME280 support.
2016-08-19 10:31:21 +03:00
Johan Kanflo
40dc3bf945 Sysparam by @foogod (#180)
* Sysparam implementation

sysparam improvements

Mostly done, a few minor cleanups left.

Add sysparam_editor example

Sysparam code cleanup

Add documentation to sysparam.h

Fix up sysparam.h docs

Added a couple more debug statements

Fix potential memory leak if realloc() fails

Major sysparam overhaul

Add sysparam_get_info function

Add sysparam initialization to app_main.c

* Fixed warnings, added license
2016-08-18 12:07:46 +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
e96dc5c722 is2_audio: Example of using i2s_dma library to output audio 2016-08-16 11:16:02 +03:00
sheinz
666f821263 ws2812_i2s: WS2812 leds driver implementation using i2s_dma library 2016-08-16 10:53:56 +03: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
f388bbc7c4 examples: ds3231: Add simple example for ds3231
Simple example for reading out the time and temperature
from ds3231 RTC every second.

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
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
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
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
df796947bd SPIFFS: Update README.md 2016-07-15 00:41:29 +03:00
sheinz
1db953e0c3 SPIFFS: Add speed test. 2016-07-15 00:08:34 +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
6484c57737 Merge branch 'experiments/posix_fs' into feature/spiffs 2016-07-14 15:26:32 +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
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
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
678b59babf Honour values of configCPU_CLOCK_HZ & configTICK_RATE_HZ for tick rate
Fixes #147

* Can vary tick rate from 100Hz via configTICK_RATE_HZ. Note that the
  SDK binary libraries are hard-coded to assume the tick rate is 100Hz,
  so changing the tick rate may have unexpected consequences for lower
  layer WiFi behaviour (such as certain kinds of timeouts happening
  faster/slower.)

* Setting configCPU_CLOCK_HZ to 160MHz means ESP will set 160MHz during
  initialisation. Only 80MHz and 160MHz are supported.

* Timing of tasks is no longer affected by current CPU freq (whether set
  via configCPU_CLOCK_HZ or via sdk_system_update_cpu_freq().)
  Previously doubling the CPU frequency would double the tick rate.
2016-07-06 17:22:09 +10:00
Alex Stewart
8c9a77efe8 Added first half of RE'd user_interface.c 2016-07-06 17:21:34 +10:00
sheinz
0f9d991ba7 Fixed libc and SPIFFS integration. Test passes on ESP-12E module. 2016-06-30 22:18:07 +03:00
sheinz
b71a7ad237 Use SPIFFS for POSIX file access. Draft. Not tested. 2016-06-30 17:38:05 +03:00
sheinz
ab795350fb Draft implementation of SPIFFS integration 2016-06-27 18:06:06 +03:00
Johan Kanflo
3c875cc418 Call DisconnectNetwork(...) before MQTT reconnect 2016-06-21 20:43:02 +02:00
Angus Gratton
4b39a0e6ca Merge pull request #136 from SuperHouse/feature/ota_improvements
OTA improvements, always enable OTA mode
2016-05-28 12:46:58 +10:00
Angus Gratton
230aa9fd37 Add new "RAM" storage macro for putting constant data in RAM
Also update comments in common_macros.h following #142
2016-05-28 12:39:56 +10:00
Angus Gratton
7fe2020785 ota_basic example: Update TFTP client calls 2016-05-28 11:27:10 +10:00
Angus Gratton
d62fd4899a ota_basic example cleanup 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
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
e671927bd0 OTA: Add TFTP client mode, expand ota_basic example. 2016-05-28 11:27:10 +10:00
Angus Gratton
3ba19d7c4e Merge pull request #137 from SuperHouse/feature/better_crash_dumps
Better crash dumps
2016-05-17 09:38:19 +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
36886412e6 Add abort() implementation
Also reduces the IRAM footprint of the fatal exception handler, as only
the prelude (which disables interrupts & enables the flash mapping) is
in IRAM now.

Closes #54, relevant to #133.
2016-05-15 22:30:01 +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
2badeed523 cpp_01_tasks example: Remove spurious OTA=1 (ref #128) 2016-04-20 09:25:40 +10:00
Angus Gratton
1c998a3edf http_get_mbedtls example: Update for howsmyssl.com server-side changes
New letsencrypt CA cert since they left beta, and HTTP server now
expects a Host header.
2016-04-20 09:25:40 +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
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
f4a5675854 Merge branch 'master' of https://github.com/SuperHouse/esp-open-rtos into sntp 2016-03-31 15:41:20 +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
Kazuyoshi Kato
41e28717f9 howmyssl.com's root certificate has been updated
Now the site is using Let's Encrypt's root certificate.
2016-03-08 20:19:50 -08:00
Ondřej Hruška
b0e683b909 Use anonymous struct in ws2812_rgb_t. 2016-03-01 23:17:13 +01:00
Ondřej Hruška
e97dca4859 Added WS2812 driver and examples (squashed commits) 2016-03-01 14:06:40 +01:00
Grzegorz Hetman
02751c820d Add short comment and license info. 2016-02-24 17:19:33 +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
30d8e162b3 blink example: Change default to GPIO2 as this pin has an LED on most boards 2016-02-09 10:58:56 +11: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
Angus Gratton
c8716747bb Add tls_server example, showing binding a socket and accepting a TLS connection 2016-02-08 15:41:44 +11:00
Blipi
72d5dd99fb Initial PWM implementation from gpascualg 2015-12-11 15:20:28 -08:00
Angus Gratton
812c2fef21 Removed INLINED (force inline) macro.
Progress towards #57.
2015-11-28 18:01:03 +11: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
01773fd1c9 terminal example: Remove unused BUFFER_SIZE macro, redundant setbuf
(Line-buffering is now disabled by default.)

Relates to #59.
2015-11-21 17:11:41 +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
6506a29d21 serial_echo example: Remove setbuf() call as stdout no longer buffered by default 2015-10-27 13:36:51 +11:00
Angus Gratton
a5a76ed93d http_get_mbedtls example: Remove fflush() calls as stdout is no longer line buffered 2015-10-11 09:25:51 +11:00
Angus Gratton
7823a28ff8 Change default baud rate back to 74906bps, compatible with boot ROM rate
This reverts a behaviour change from 3ceadfc0a6.
2015-10-06 23:11:17 +11:00
Angus Gratton
4f05f15366 serial_echo: Fix program name in makefile 2015-10-06 17:55:37 +11:00
Angus Gratton
3060d72234 Add a basic serial_echo example, with a silly Easter Egg 2015-10-06 17:54:43 +11:00
Angus Gratton
3ceadfc0a6 uart.h: Add uart_get_baud/uart_set_baud functions, change default baud rate from 74906 to 115200 2015-10-06 17:49:00 +11:00
Angus Gratton
233e5f377a Remove axTLS 2015-09-28 13:01:22 +10:00
Angus Gratton
99facb808e hmac_test_vectors test: Replace axTLS with mbedTLS 2015-09-28 13:01:22 +10:00
Angus Gratton
fc9d9ff89c Merge branch 'experiments/unaligned_load' into feature/mbedtls_notworking 2015-09-25 16:57:49 +10:00
Angus Gratton
4dd8712526 unaligned_load: Run some tests after scheduler/network/wifi all up and running
As written this doesn't expose any new bugs.
2015-09-25 09:41:53 +10:00
Angus Gratton
edbfd3a66e unaligned_load tests: Remove incorrect references to DoubleException 2015-09-25 09:22:06 +10:00
Angus Gratton
43a8bf2087 Merge branch 'master' into feature/dhcp-server 2015-09-24 08:33:48 +10:00
Angus Gratton
59a0a6f86e http_get_mbedtls: Add root cert used by howmyssl.com 2015-09-20 21:41:39 +10:00
Angus Gratton
8a470e6f98 Merge branch 'master' into feature/mbedtls 2015-09-20 21:26:29 +10:00
Angus Gratton
1b22cc088e Add initial mbedTLS and HTTPS example project (using howsmyssl.com JSON API)
mbedTLS version 2.1.0 (current stable)

Has some known issues/hacks:
* Entropy source not hooked in at all
* Linker script has a messy hack in it to store some (not all) data in
  irom
2015-09-20 21:13:38 +10:00
Angus Gratton
0da6c97a9d Rename main.cpp in tasks example 2015-09-20 21:13:38 +10:00
Angus Gratton
8a29e46319 examples/Makefile: Use MAKE to properly invoke make recursively 2015-09-20 21:13:38 +10:00
Angus Gratton
1c8017484c Move c++ operators back to link-time resolutions, part of 'core'
This reverts commit e9b1df5cb5.
2015-09-20 21:13:38 +10:00
Angus Gratton
6416fe7329 Post-merge cleanup of extras/cpp_support 2015-09-20 21:13:38 +10:00
Michael Jacobsen
fbb01c81ad Header files adjustment
(MQTT changes split from original commit - @projectgus.)
2015-09-20 21:13:38 +10:00
Michael Jacobsen
602d3e2d98 Header files re-arrangement 2015-09-20 21:13:38 +10:00
Michael Jacobsen
028451fa84 Updated license 2015-09-20 21:13:38 +10:00
Michael Jacobsen
627b78331a Added C++ base components and example 2015-09-20 21:13:38 +10:00
Angus Gratton
94fabc6ceb Add basic C++ new/delete operators, as contributed by @mikejac in #24 2015-09-20 21:13:38 +10:00
Angus Gratton
cc97067fa1 Add C++ support to Makefile, and proof-of-concept simple.cpp example
This is a work in progress based on @mikejac's work.

Missing:
* No 'new' operator.
* I don't think STL is currently supported.
2015-09-20 21:13:38 +10:00
Alex Stewart
a3d7732da8 unaligned_load.c: Added more naive_strcpy tests
Added tests for naive_strcpy using a variety of different regs, as execution time can depend on which register is being used.
2015-09-19 20:03:22 -07:00
Alex Stewart
4c89a0574b Add sanity-test suite to unaligned_load.c
Tests are designed to methodically exercise all code paths/opcodes/offsets/etc.
2015-09-19 15:16:44 -07:00