Commit graph

276 commits

Author SHA1 Message Date
Sakari Kapanen
4a1b600be4 i2c: improve timing
Look-up tables were used for determining the delay loop counts before.
Based on these hand-tuned values, the loop overhead was estimated for
each option -- 80 and 160 MHz, fast and slow GPIO access. Instead of the
great number of tunable parameters one now only has to tune the overhead
values if the code is changed.

Functions were added to the API which allow setting an arbitrary
frequency. API backward compatibility is retained.

i2c: fix potential overflow situation
2018-02-27 23:47:16 +02:00
Sashka
8d4b4aa7a3 Multi-Channel Soft PWM library (#579) 2018-02-23 22:29:42 +05:00
Our Air Quality
3c81f7d587 lwip update
* The mdns responder has been reworked to lower stack and memory usage. This is
  a variation on the upstream code, it use malloc whereas the upstream code uses
  pools. The high stack usage of the mdns responder was problem for
  esp-open-rtos, so we might have to maintain the differences for now.

* Improved lwip core locking, and lock checking. Upstream improvements, that
  need some added support from esp-open-rtos specific code. More core lock is
  performed when calling from the esp-open-rtos code now, so a little safer. The
  checking is not enforced, but projects might see warning messages and might
  want to look into them.

* The esp-open-rtos lwip support has been sync'ed with the new freertos port
  included with lwip. There are still some minor differences.

* A few lwip timer bugs have been resolved. This might help resolve some issues.

* Plus it picks up all the other upstream fixes and improvements.

* The default lwip stack has been lowered from 768 words to 480 words,
  due to the reduced stack usage by the mdns responder.
2018-02-09 20:26:02 +11:00
Jeff Kletsky
6b43a1caa1 Improve extras/sntp -- Issue #562 (#563) 2018-02-09 13:02:01 +05:00
Ruslan V. Uss
42e342e3dd
Merge pull request #544 from gschorcht/sht3x
Minor changes in SHT3x driver
2018-01-20 17:03:09 +05:00
Gunar Schorcht
13db675ac6 Minor changes in BME680 driver (#543) 2018-01-20 17:02:53 +05:00
Gunar Schorcht
8325bb87c5 Minor changes in CCS811 driver (#542) 2018-01-20 17:02:31 +05:00
Gunar Schorcht
37230b2de6 L3GD20H 3-axes gyroscope driver (#545) 2018-01-20 17:01:59 +05:00
Gunar Schorcht
a4de9dd4f1 LIS3DH 3-axes accelerometer driver added (#546) 2018-01-20 17:01:38 +05:00
Gunar Schorcht
812794f7d9 LIS3MDL 3-axes magnetometer driver added (#547) 2018-01-20 17:00:35 +05:00
Gunar Schorcht
f5bbff8b87 LSM303D e-Compass driver added (#548) 2018-01-20 16:59:54 +05:00
Gunar Schorcht
7fed013453 minor changes 2018-01-06 15:34:36 +01:00
Ivan Mikhailov
524f8b953f Allow html files customization for libesphttpd
Modified component.mk to let user customize
LIBESPHTTPD_HTML_DIR and LIBESPHTTPD_HTML_FILES
2017-12-30 09:48:17 +01:00
Ruslan V. Uss
132391752e
MAX7219 driver fix 2017-12-27 00:33:59 +05:00
Ruslan V. Uss
126fbc20a7
Merge pull request #528 from UncleRus/extras/f-ram
Driver for Cypress serial F-RAM
2017-12-27 00:24:42 +05:00
UncleRus
543b4198b2 Driver for Cypress serial F-RAM 2017-12-24 18:49:52 +05:00
Ruslan V. Uss
131da5b4f2
Merge pull request #505 from ourairquality/mdns-responder1
mDNS-responder: ipv6 support and fixes
2017-12-24 18:39:47 +05:00
Ruslan V. Uss
f671f31b96
Merge pull request #524 from gschorcht/bme680
BME680 driver updates
2017-12-24 04:57:37 +05:00
Ruslan V. Uss
ff18dead52
Merge pull request #525 from gschorcht/sht3x
SHT3x driver updates
2017-12-24 04:57:26 +05:00
Gunar Schorcht
ca0b5da905 - Delaying and repeating i2c operation automatically when i2c interface is busy removed. User has to deal with concurrency using semaphores.
- GPIO_ID_PIN macros removed
- Soft reset mechanism of SHT3x does not work when sensor is in any measurement mode. Therefore, it does not abort initialization procedure anymore
- typos
- changes to use the same source code with ESP8266 (esp-open-rtos) and ESP32 (ESP-IDF)
2017-12-21 19:02:02 +01:00
Gunar Schorcht
f0425e7abd - small corrections
- changes to use the same source code with ESP8266 (esp-open-rtos) and
  ESP32 (ESP-IDF)
2017-12-21 19:00:16 +01:00
Gunar Schorcht
07f3c08244 - minor changes
- changes to use the same source code with ESP8266 (esp-open-rtos) and
  ESP32 (ESP-IDF)
2017-12-21 18:58:52 +01:00
Ruslan V. Uss
48a33e6c2e
Merge pull request #520 from ourairquality/wificfg-const-strings
wificfg: declare strings 'const' when appropriate.
2017-12-14 02:47:03 +05:00
Our Air Quality
8ae8019045 wificfg: declare strings 'const' when appropriate. 2017-12-14 08:00:10 +11:00
Our Air Quality
f27bc0f452 wificfg: remove the AP WEP mode option (#514)
* wificfg: remove the AP WEP mode option

The WEP mode does not appear to be implement in the sdk for the AP mode, and
defaults to open when WEP is requested which is probably not intended. Remove
the WEP option from the wifi config interface.

* lwip: enable mdns dns queries.

* wificfg: support mDNS on the softAP interface.
2017-12-13 21:29:49 +05:00
UncleRus
7f010ef1fe FatFs updated to R13a 2017-12-12 11:39:22 +05:00
Our Air Quality
85338ee672 mDNS-responder: ipv6 support and fixes
* Adds ipv6 support. Compiles with ipv6 enabled and then accepts ipv6
  connections and answers AAAA questions.

* Fixes a few overflows of the reply buffer. Reduce the default reply buffer
  size, name it MDNS_RESPONDER_REPLY_SIZE, and allow overriding.

* Fix mdns_add_TXT.

* Prefer malloc to large stack buffers, to control stack sizes, and try to
  malloc only the buffer size needed where known in advance.

* Determine the IP addresses when responding, eliminating the update function
  and the update task.

* Allow use in SoftAP and StationAP mode too.

* Fix to compile without the debug output.

* Slightly better integration with lwip.

* Accept a NULL TXT entry.

* Some code style changes, not comprehensive.
2017-12-12 11:34:21 +11:00
Gunar Schorcht
61f23d0cf4 CCS811 driver added (#479) 2017-12-11 08:00:53 +05:00
Our Air Quality
d178d36e0e wificfg: add config option for mDNS 2017-12-10 10:32:21 +11:00
Our Air Quality
44d44a2cc5 wificfg: IPv6 and mDNS support
* When IPv6 is enabled the http server and the captive portal dns now also
  accept IPv6 connections. The interface and peer IPv6 address are now also
  reported.

* The http server no longer redirects <name>.local to an IP address for better
  integration with mDNS.

* Add mDNS support, for the extras/mdnsresponder or the LWIP mDNS responder,
  and enable the LWIP mDNS responder for examples/wificfg.
2017-12-10 10:32:21 +11:00
Sakari Kapanen
d41c0f1d72 I2C optimization (#503)
Fix of #480
2017-12-09 22:27:39 +05:00
Ivan Mikhailov
69220ee866 Allow overrides of sntp.h
Changed quote marks with triangle brackets
for sntp.h to allow user creating a custom sntp.h
2017-12-07 20:55:03 +01:00
Sashka
d05d3020eb Bringing libesphttpd up-to-date (#504)
* libesphttpd: added extras and example

* Added "heatshrink" as a submodule

* Updated libesphttpd

* Updated libesphttpd

* Trying to fix the commit id

* Updated libesphttpd

* Added zlib1g-dev package

* Use native gcc to build mkespfsimage and mkupgimg

* Added NS and GW for DHCP server configuration

* Making libeshttpd up-to-date

* Making libeshttpd up-to-date (heatshrink updated)

* Making libesphttpd up-to-date
2017-12-06 20:13:29 +05:00
Maxim Kulkin
6faf7c569d Fix mdnsresponder compilation issues (#481) 2017-12-05 12:15:18 +05:00
Ruslan V. Uss
f67495f4f0
Merge pull request #486 from ekalyvio/master
Fixed Repeated-start in I2C
2017-12-02 14:45:46 +05:00
Ruslan V. Uss
3214c13fbc
Merge pull request #491 from funnydog/fixes
Fix the SPIFFS POSIX API (#489)
2017-12-02 14:41:41 +05:00
Zaltora
962196ef1d color and timing (ws2812_i2s) (#493) 2017-12-02 14:37:52 +05:00
Zaltora
a0f846013c pwm fix (#485)
* pwm fix special state + debug print + IRAM interupt
* Special state = don't set timer, safer
* fix timer crash, cant divide by 0
* pwm dont start when duty is set
* reverse option
* fix low duty crash + comments
2017-12-02 11:54:04 +05:00
funnydog
8354c03a12 Fix the SPIFFS POSIX API (#489)
The commit ebdd2f9 defined some offsets to differentiate between the
standard, socket and file descriptors.

SPIFFS_FILEHDL_OFFSET was updated accordingly but the code didn't use
that constant and this broke the SPIFFS POSIX API.

Fix it by initializing the fh_ix_offset field of the spiffs_config
structure to SPIFFS_FILEHDL_OFFSET.
2017-11-22 16:45:48 +01:00
Efthymios Kalyviotis
0e6694144f Fixed Repeated-start in I2C 2017-11-19 23:27:55 +02:00
lilian
8a9c3fd9e8 ina3221 ptr NULL security 2017-11-17 20:44:02 +01:00
Gunar Schorcht
691cf4ed62 Driver for Bosch Sensortec BME680 added (#469)
* Driver for Bosch Sensortec BME680 added
2017-11-07 12:47:58 +05:00
Ruslan V. Uss
e0410b2c5d
Merge pull request #475 from UncleRus/i2c_fix2
Configurable I2C clock stretching
2017-10-29 19:13:48 +05:00
rus
1d3ca574f1 Fix #471 2017-10-28 22:57:22 +05:00
Peter Dunshee
f8c87c3d6c Fix a typo in ssd1306 driver that prevents compiling with c++ compiler 2017-10-27 09:04:57 -05:00
Ruslan V. Uss
7cd1afc52d Merge pull request #465 from UncleRus/pcf8591_update
PCF8591 driver update
2017-10-25 13:01:40 +05:00
Sashka
09b8b8087c Add libesphttpd to extras and supporting example (#458)
* libesphttpd: added extras and example

* Added "heatshrink" as a submodule

* Updated libesphttpd

* Updated libesphttpd

* Trying to fix the commit id

* Updated libesphttpd

* Added zlib1g-dev package

* Use native gcc to build mkespfsimage and mkupgimg

* Added NS and GW for DHCP server configuration
2017-10-23 23:59:13 +02:00
Gunar Schorcht
ac6797e916 Driver for Sensirion SHT3x temperature and humidity sensor readded (#453)
* Driver for Sensirion SHT3x sensor added

This is a driver for Sensirion SHT3x temperature and humidity sensors
connected via I2C.

This commit is a rebasing and contains some interface changes based on
the review from @ourairquality.

* SHT3x driver changes

Additional include to satisfy the Travis CI test build

* SHT3x driver - small changes

README.md has been shortened

* SHT3x driver - small changes

* SHT3x driver - small changes

- crc8 lookup table is now static to be held in flash memory
- special handling for the timer overflow in sht3x_is_measuring removed
- initialization reduced to availability check

* SHT3x driver - some small changes

- crc8 lookup table is now static to be held in flash memory
- special handling for the timer overflow in sht3x_is_measuring removed
- some whitespace removed
- initialization reduced to availability check

* SHT3x driver - some minor changes

- lookup tables made const to be held in flash
- crc8 computation changed to a non table lookup version
- measurement duration is now given in ticks and can be used directly
  for vTaskDelay (documentation and examples changed accordingly)

* SHT3x driver - documentation changed

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor corrections

* SHT3x driver - minor corrections

* Driver for Sensirion SHT3x sensor added

This is a driver for Sensirion SHT3x temperature and humidity sensors
connected via I2C.

This commit is a rebasing and contains some interface changes based on
the review from @ourairquality.

SHT3x driver changes

- additional include to satisfy the Travis CI test build
- README.md has been shortened
- special handling for the timer overflow in sht3x_is_measuring removed
- some whitespaces removed
- crc8 computation changed to a non table lookup version
- measurement duration is now given in ticks and can be used directly
  for vTaskDelay (documentation and examples changed accordingly)
- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS
- clock stretching disabled on sensor to avoid blocking when data are
  not ready to read
- calculation of maesurement duration adds now one and a half ticks to
  be sure that measurement duration is not too short
- function sht3x_is_measuring is now private and only for internal use,
  user task has always to use function vTaskDelay to wait for
  measurement results
- function sht3x_is_measuring was simplified and returns now just a
  boolean value
- private function sht3x_reset added which is used to reset the sensor
  during initialization
- active flag in sensor data structure not needed anymore
- function sht3_get_raw_data simplified
- function sht3x_start_measurement returns now only a boolean
- function sht3x_start_measurement does not check anymore whether there is
  already a measurment running
- new function sht3x_get_measurement_duration which returns the measurement
  duration in ticks for configured repeatability

* SHT3x driver minor changes

- type sht3x_values_t replaced by separate float values
- additional repeatability parameter defined for function sht3x_start_measurement
- parameter of function sht3x_get_measurement_duration changed from
  sht3x_sensort_t to sht3_repeat_t
- sensor modes and repeatability levels extended by prefix sht3x_

* SHT3x driver minor changes

- new high level function sht3x_measure added, it comprises all three
  steps to perform one measurement in only one function
- example with two sensors removed

* SHT3x driver small correction
2017-10-23 23:39:48 +02:00
Ruslan V. Uss
5fa48d0298 Code formatted, minor fixes (#466) 2017-10-18 21:25:48 +02:00
Our Air Quality
8a474d749d wificfg: correct a few initialization issues (#464)
* Correct checking of the AP password and SSID lengths.

* Only enable AP mode if it is really configured enabled.

* Only start the http server if wifi is enabled.
2017-10-18 20:56:17 +02:00