1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

25230 Commits

Author SHA1 Message Date
Marian Buschsieweke
16ee7aed32
Merge pull request #11350 from maribu/ina2xx
drivers/ina220: Changed to comply with RIOT's driver design goals & SAUL adaption
2019-11-22 23:36:50 +01:00
benpicco
d86ca37ed9
Merge pull request #12759 from miri64/bitfield/fix/bitorder
bitfield: unify order
2019-11-22 22:37:39 +01:00
benpicco
09f647eee2
Merge pull request #12693 from maribu/neopixel-atmega
drivers: Added WS281x RGB LED driver for ATmega platform
2019-11-22 22:36:36 +01:00
Dylan Laduranty
9b0ef62d64 saml1x/pm: fix doxygen ingroup 2019-11-22 22:20:19 +01:00
Marian Buschsieweke
0a0c1697d7
drivers/ina2xx: Added SAUL integration 2019-11-22 20:29:53 +01:00
Marian Buschsieweke
3ebbec84c7
drivers/saul: Fixed documentation
There is no need to distinguish between sensors for electrical power or other
types of power.
2019-11-22 20:29:53 +01:00
Marian Buschsieweke
a6476bd813
drivers/ina2xx: Match RIOT's driver design goals
- Use standard RIOT style `ina2xx_params_t` on initialization as explained in
  [1] instead of a custom API
- Provided a default configuration via `ina2xx_params_t` as required by [1] that
  works fine for the INA219 breakout board and with an optimal resolution that
  still covers the whole range of USB high-power devices (500 mA @ 5V) with a
  comfortable safe margin.
- Changed initialization procedure to include a device reset and connectivity
  test, as required by [1]
- The calibration value is now calculated by the driver
    - This simplifies using the driver a lot
    - The user can still choose a trade-off between range and resolution that
      matches the application requirements, but now among predefined values
    - This allows the driver to easily convert the raw data into meaningful
      physical data, as the resolution of the raw data is known
- All measurements are provided as meaningful physical data as required by [1]

[1]: https://github.com/RIOT-OS/RIOT/wiki/Guide:-Writing-a-device-driver-in-RIOT
2019-11-22 20:28:57 +01:00
Dylan Laduranty
550bfdbdbf
Merge pull request #12777 from benpicco/pm_debug_puts
cpu/sam*: pm: make use of DEBUG_PUTS()
2019-11-22 19:57:46 +01:00
Marian Buschsieweke
f424421f79
drivers: Renamed ina220 --> ina2xx
The INA219 has the exact same interface as the INA220 (including values and
semantics of the configuration register). Thus, this driver can be used for
both. The ina220 has been renamed to ina2xx to reflect this and pseudo modules
for the ina220 and ina219 have been added.
2019-11-22 19:53:51 +01:00
77801d18e2
Merge pull request #12496 from aabadie/pr/examples/suit_example_shell
examples/suit_update: use shell module
2019-11-22 18:48:02 +01:00
Francisco
3c60afc083
Merge pull request #12768 from aabadie/pr/boards/pic32-clicker-uart-cleanup
boards/pic32-clicker: cleanup uart configuration and initialization, cleanup header includes
2019-11-22 17:20:40 +01:00
Marian Buschsieweke
16ef0a7f30
Merge pull request #8383 from haukepetersen/opt_driver_bmx280spi
drivers/bmx280: reworked driver and added SPI mode
2019-11-22 17:06:12 +01:00
2480d11570
examples/suit_update: adapt test for the shell 2019-11-22 15:56:36 +01:00
baf18777a1
examples/suit_update: add the shell to the example
The nanocoap server is run in a dedicated thread
2019-11-22 15:56:35 +01:00
c7cd3d869e
Merge pull request #12180 from gschorcht/sys/arduino/lib
sys/arduino: Using Arduino libraries
2019-11-22 15:29:52 +01:00
f04df728cb
Merge pull request #12044 from gschorcht/cpu/esp32/log_module_fix
cpu/esp32: improvements and cleanup of log_module
2019-11-22 14:33:33 +01:00
49e8c736d9
Merge pull request #12765 from fjmolinas/pr_improvee_pthread_barier
tests/pthread_barrier: improve test script
2019-11-22 14:32:12 +01:00
Hauke Petersen
5e51030eab tests/driver_bmx280: add Makefile.ci 2019-11-22 14:04:38 +01:00
Hauke Petersen
96c6313bd4 boards/avr-rss2: use bme280_i2c module 2019-11-22 14:04:38 +01:00
Hauke Petersen
9f5f6f4215 drivers/bmx280: improved documentation 2019-11-22 14:04:38 +01:00
Hauke Petersen
f46731801a boards/sltb001a: use i2c mode of bme280 driver 2019-11-22 14:04:37 +01:00
Hauke Petersen
3c0d5048f9 board/ruuvitag: enable bme280 for saul default 2019-11-22 14:04:37 +01:00
Hauke Petersen
c83e197676 tests/driver_bmx280: adapted to driver rework
functional changes:
- enable test to test the driver in SPI mode

style changes and code simplification:
- enable SPI mode
- fixed typos in doxygen
- fixed line length issues
- simplified code
- use fmt for formatting numbers
- use US_PER_SEC instead of magic value
- use named return values provided by driver
- use puts where ever applicable
2019-11-22 14:04:37 +01:00
Hauke Petersen
b7f33bd84f drivers/bmx280: significant driver rework
bugs fixed:
- move global variables into device descriptor
- guard bus access (use acquire and release)

added functionality:
- enable SPI mode

structural improvements:
- reduce stack usage
- simplify the driver's structure
- centralize bus access code
- use assertions
- cleanup includes
- use shortcuts for bus access

style changes:
- fix line length
- cleanup and improve doxygen
- unify pointer notation (char *var over char* var)
- unify (error) return messages
- use `#ifdef MODULE_BME280` instead of `#if defined(BME..)`
- unify debug messages -> using `[bmx28] x: msg` scheme
2019-11-22 14:04:37 +01:00
Gunar Schorcht
e90dd16347 tests/ssp: warning stringop-overflow has to be disabled
Newer gcc versions have an option to enable overflow warnings for string operations. This option is enabled by default. For this test, it is necessary to disable this warning if the compiler supports this option.
2019-11-22 13:56:41 +01:00
Gunar Schorcht
74c0cc3878 tests/ssp: prevent that memset is optimized out 2019-11-22 13:56:41 +01:00
Gunar Schorcht
43d989b4d5 cpu/esp32: break on core_panic
To be able to catch a core panic in debugger and to get the last output from asynchronous UART , e.g., if the stack is smashed, the system is not rebooted immediately anymore but breaks, which stops the execution in debugger or reboots the system after WDT timeout.
2019-11-22 13:56:41 +01:00
Gunar Schorcht
eb47f1c537 tests/sys_arduino_lib: demo the use of Arduino library
This test application defines a packages which imports a very simple Arduino library that is used by test application to demonstrate how an Arduino library can be imported as package and used by an application.
2019-11-22 13:26:35 +01:00
Francisco Molina
1ff9f7f631 tests/pthread_barrier: improve test script
Add intermediate child.expect to avoid timeout on platforms
where time between `start` and `done` is a little over 10s.
2019-11-22 11:19:52 +01:00
faac10f593
Merge pull request #11994 from gschorcht/cpu/esp32/esp_wifi/crypto-fix
cpu/esp32: esp_wifi and crypto module fix
2019-11-22 11:16:33 +01:00
Gunar Schorcht
6fb7c50d48 cpu/esp32: colored output modifications
For compatibility with module log_color and the esp8266 esp_log_colored implementation.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
4af78c31ef cpu/esp32: enable colored output with log_color 2019-11-22 11:11:19 +01:00
Gunar Schorcht
f500dcbf02 cpu/esp32: colored and tagged log output docu 2019-11-22 11:11:19 +01:00
Schorcht
4503f45abb cpu/esp32: esp_log_color renamed to esp_log_colored 2019-11-22 11:11:19 +01:00
Gunar Schorcht
5d51c03af9 cpu/esp32: replace ets_printf by printf
Wherever possible, ets_printf is replaced by newlib printf.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
1f940b0728 cpu/esp32: map log outputs from SDK libraries
Log outputs generated by binary ESP32 SDK libraries are mapped to the ESP32's log module which supports colored and tagged log outpus. Tagged log outputs from SDK libraries are handled accordingly.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
9a4cdc7e93 cpu/esp32: log_module implementation
The implementation of `log_module` for ESP32 was changed from functions to a macro-based implementation to be able to use the bunch of macros for colored and tagget log output generation.
2019-11-22 11:11:19 +01:00
Benjamin Valentin
8424d1845b cpu/lpc2387: fix doxygen errors
Document macros and remove an unused function.
2019-11-22 09:11:39 +01:00
Benjamin Valentin
a9d1825e2e cpu/lpc2387: implement periph/pm
Enable IDLE and Deep Powerdown mode.

IDLE is pretty straightforward - insteady of busy waiting, the CPU will
enter an idle state from which it will resume on any event.

Deep Power Down shuts off the entite system except for the battery backup
power domain.
That means the CPU will reset on resume and can be woken by e.g. RTC.

SLEEP and POWERDOWN disable the PLL and the PLL and Flash respectively.
This requires some proper wake-up handling.

Since this turned out to be a major time sink and those modes are never
currently never used in RIOT outside of tests, I left this as an exercise
for a future reader.
2019-11-22 09:11:39 +01:00
401abd5b71
boards/pic32-clicker: cleanup includes 2019-11-22 08:12:47 +01:00
e8b0399bc9
boards/pic32-clicker: cleanup uart initialization 2019-11-22 08:12:46 +01:00
Benjamin Valentin
9df377d699 cpu/sam*: pm: make use of DEBUG_PUTS()
`pm_set()` gets called by the idle thread whose stack is too small
for normal DEBUG()/printf().

Use DEBUG_PUTS() instead to print the static debug strings.
2019-11-22 01:30:03 +01:00
3eae474e74
Merge pull request #12760 from benpicco/debug-puts
core: debug: introduce DEBUG_PUTS()
2019-11-21 22:06:01 +01:00
Gunar Schorcht
4b92ce289b sys/arduino: compilation of Arduino libraries
To make it possible to use an Arduino library, a new pseudomodule arduino_lib is introduced. This pseudomodule enables implicitly module arduino but avoids that a sketch is required or generated and compiled. Thus, it is possible to compile and use a package or directory with some source files from an Arduino library in RIOT applications.
2019-11-21 19:13:14 +01:00
Gunar Schorcht
d55225eb29 cpu/esp32: remove SDK crypto dependency from doc 2019-11-21 18:34:08 +01:00
Gunar Schorcht
5f01d0a88f cpu/esp32: remove SDK crypto function dependency
Modules `crypto` and `hashes` have not be disabled any longer when module `esp_wifi` is used.
2019-11-21 18:34:08 +01:00
Gunar Schorcht
1a12f56fbd cpu/esp32: use renamed SDK crypto functions 2019-11-21 18:32:28 +01:00
Gunar Schorcht
d8f0399eaa cpu/esp32: rename SDK crypto function
Renames crypto functions of ESP32 SDK in vendor code to resolve the conflicts between `wpa-supplicant` crypto functions and RIOT's `crypto` and `hashes` modules.
2019-11-21 18:32:28 +01:00
Gunar Schorcht
f8c740c190 cpu/esp32: use SDK crypto headers from vendor code
Changes the include path for ESP32 SDK crypto function headers to find their modified version in vendor codefirst.
2019-11-21 18:32:28 +01:00
Gunar Schorcht
ee349edf3b cpu/esp32: add SDK crypto headers and rename
To resolve the conflicts between `wpa-supplicant` crypto functions (part of the ESP32 SDK) and RIOT's `crypto` and `hashes` modules, the crypto function headers from ESP32 SDK are added to vendor code and the crypto functions are renamed using the prefix `wpa_`.
2019-11-21 18:32:28 +01:00