Commit Graph

10192 Commits

Author SHA1 Message Date
George Oikonomou b861b8f277 Do not try to build cc26xxware documentation 2015-05-17 15:01:02 +01:00
George Oikonomou 541688235c Update the CC26xx README in terms of CC26xxware 2015-05-17 15:01:02 +01:00
George Oikonomou f680d5dcc5 Do not fetch CC26xxware manually for travis tests 2015-05-17 15:01:02 +01:00
George Oikonomou 5d20e76346 Adjust the build system to use CC26xxware as a sub-module 2015-05-17 15:01:01 +01:00
George Oikonomou 40e82395c4 Pull CC26xxware as a submodule 2015-05-17 15:01:01 +01:00
George Oikonomou b4067560ba Remove references to obsolete peripheral clock scaling functions 2015-05-17 15:01:01 +01:00
George Oikonomou ab4249a709 Adjust retention calls
* Rename VIMS-related calls
* Remove obsolete ones
2015-05-17 15:01:01 +01:00
George Oikonomou b38d32b281 Rename AON WUC power status macros 2015-05-17 15:01:01 +01:00
George Oikonomou 8b1f2ef33c Reset I2C with HAPI call instead of register access 2015-05-17 15:01:00 +01:00
George Oikonomou 8673bbdd55 Update linker script to accommodate for larger CCFG size 2015-05-17 15:01:00 +01:00
George Oikonomou 7a5b670f76 Remove references to IOC_JTAG_DISABLE 2015-05-17 14:09:52 +01:00
George Oikonomou 09a8c54eb1 Update CC26xxware glue macros
* Remove references to removed functions
* Add macros to new functions
* Rename macros to renamed functions
* Add macros for the HAPI
2015-05-17 14:09:52 +01:00
George Oikonomou 5f4154a0e3 Adjust AON BatMon usage 2015-05-17 14:09:51 +01:00
George Oikonomou 32840db66b Update driverlib version macros 2015-05-17 14:09:51 +01:00
Benoît Thébaudeau 25532e8abf Merge pull request #754 from wwhuang/master
[CC2538] Fix SPI_FLUSH
2015-05-16 20:55:30 +02:00
Antonio Lignan e8b1a57ac6 Merge pull request #809 from cmorty/pull/msp430_gstabs
[MSP430] Add gstabs debug information (dwarf is broken)
2015-05-16 11:01:47 +02:00
Antonio Lignan 32afadea77 Merge pull request #1047 from g-oikonomou/cc26xx/contrib/lpm
CC26xx Ultra Low Power Operation
2015-05-16 10:27:22 +02:00
George Oikonomou 1cf37e0c1a Tidy-up code style 2015-05-15 23:36:54 +01:00
Simon Duquennoy f45c6ad1b0 Merge pull request #1048 from cmorty/pull/serialdump
Fix and clean up serialdump.c
2015-05-15 20:12:58 +02:00
Antonio Lignan 402eabecca Merge pull request #929 from lab11/delete-old-coap
Delete old CoAP implementation
2015-05-15 15:49:04 +02:00
George Oikonomou 7ae3cd49ba Make sure SSI0 is powered and clocked before accessing it
* Fail all SSI0 operations if the module is not powered and clocked
* Make sure SERIAL is powered before trying to enable run mode clock
2015-05-15 11:38:20 +01:00
George Oikonomou 78d04f812b Fix typo in macro 2015-05-15 09:21:05 +01:00
George Oikonomou 7e00eeb76a Achieve lowest consumption with the CC26xx demo:
This changes the CC26xx simple demo so that a devices running this firmware will achieve the lowest possible energy consumption without requiring any changes to the example
2015-05-15 09:21:05 +01:00
George Oikonomou 019143226b Adjust main:
* Re-order OSC, VIMS cache, I/O latch configuration instructions
* Don't automatically enable UART RX: Let the example decide this
2015-05-15 09:21:04 +01:00
George Oikonomou 07272b7cd6 Improve UART power-cycling logic:
* Only enable TX by default.
* Add some magic for RX handling. When an input handler is registered:
  * Automatically enable RX-related and interrupts
  * Automatically lock the SERIAL PD on under all power modes
  * Automatically enable the UART clock under sleep and deep sleep
  * Automatically undo all of the above when the input handler becomes NULL
  * As a result, modules / examples that need UART RX no longer need to clock the UART and manipulate the SERIAL PD. They simply have to specify an input handler
* Don't automatically power on the UART whenever the CM3 is active
* Before accessing the UART, make sure it is powered and clocked
* Avoid falling edge glitches
* Fix garbage characters / Explicitly wait for UART TX to complete
2015-05-15 09:21:04 +01:00
George Oikonomou 34f52ed08e Improve the LPM module:
* Implement new style of PD locks
* Use our own shutdown sequence rather than the one provided by cc26xxware
* Shutdown from within the interrupt that requested it. This allows shutdown to take place even if the code is stuck in a loop somewhere else
* Improve DCDC/GLDO/uLDO switching logic
* Explicitly handle oscillators and retentions
2015-05-15 09:21:04 +01:00
George Oikonomou 6e7d52b5df Improve MPU power-cycling logic:
* Keep MPU_PWR low when the sensor is not in use
* Deselect the sensor when not in use, in order to restore the I2C ping state
* Explicitly control the MPU_INT pin
* Don't shutdown the sensor when it's shut down
* Remove explicit shutdown-related API extension. It is no longer required
2015-05-15 09:21:04 +01:00
George Oikonomou eb5b11a85a Re-order instructions in the RTC startup sequence 2015-05-15 09:21:03 +01:00
George Oikonomou dcf0d11050 Re-map tag UART-related IOID defines 2015-05-15 09:21:03 +01:00
George Oikonomou 2cc59c524a Configure pins for unused tag peripherals 2015-05-15 09:21:03 +01:00
George Oikonomou e893c914b6 Set SPI pins to a low leakage state 2015-05-15 09:21:03 +01:00
George Oikonomou 421fbfae25 Change the LPM locks API:
Instead of using a separate data structure to request that a PD remain powered during deep sleep,
we do the same within the main LPM data structure through an additional field.

This allows us to maintain only one linked list of LPM modules and overall improves code clarity
2015-05-15 09:21:02 +01:00
George Oikonomou b3ac3ac0c1 Add function to unregister a module from LPM 2015-05-15 09:21:02 +01:00
George Oikonomou 0e92b508b3 Don't clock GPT0 on device startup 2015-05-15 09:21:02 +01:00
George Oikonomou 6611acadc7 Don't fire-up SERIAL automatically 2015-05-15 09:21:02 +01:00
George Oikonomou 34be012661 Improve I2C power-cycling logic:
We only power, clock and enable the peripepheral when / if we need it

* We no longer automatically turn on the SERIAL PD when the CM3 is running
* Make sure the I2C peripheral is accessible (powered and clocked) before any operation
* If the peripheral is not accessible, automatically power it up and run the clock
* Put SDA, SCL, SDA HP and SCL HP in a low-leakage state when shutting down
* Don't automatically fire up the I2C controller when we wake up
2015-05-15 09:21:02 +01:00
George Oikonomou 0ad4b5f323 Add the ability to put the I2C in a known/default state 2015-05-15 09:21:01 +01:00
George Oikonomou d1a1c16bd0 Define pins for more sensortag peripherals 2015-05-15 09:21:01 +01:00
George Oikonomou 4378217462 Improve sensortag external flash power management:
* Explicitly put in deep sleep on device startup
* Verify that the flash has actually dropped to deep sleep
* Update CLK pin to match the one used on the v1.2 sensortag

Obsoletes and Closes #988
2015-05-15 09:21:01 +01:00
George Oikonomou cf99160706 Change lpm_shutdown() API call:
So that the caller can specify pin pull and wakeup state
2015-05-15 09:21:01 +01:00
George Oikonomou 5644e95fb6 Fix global interrupt manipulation 2015-05-15 09:21:00 +01:00
George Oikonomou bd79e18e1e Switch between oscillator's using the dedicated module's functions 2015-05-15 09:21:00 +01:00
George Oikonomou ad52d68a0c Add function to configure a pin to a default state 2015-05-15 09:21:00 +01:00
George Oikonomou 3877190196 Change function to static 2015-05-15 09:21:00 +01:00
George Oikonomou 3f310e462f Tidy-up clock configuration 2015-05-15 09:20:59 +01:00
George Oikonomou 450550a7d1 Explicitly configure Srf pins for unused peripherals 2015-05-15 09:20:59 +01:00
George Oikonomou 7a189d010b Don't power on SERIAL in the Srf's board_init 2015-05-15 09:20:59 +01:00
George Oikonomou 00a6c31158 Improve OPT sensor driver and usage
* Query the sensor about its state, rather than using variables in the driver
* Correctly put the sensor to deep sleep
* Fix doxygen comments
* Don't turn off the sensor in examples since it is no longer needed
2015-05-15 09:20:59 +01:00
George Oikonomou 3ab1b836c4 Configure button pins with hysterisis 2015-05-15 09:20:58 +01:00
George Oikonomou 7641aa89f2 Tidy-up macro semicol usage 2015-05-15 09:20:58 +01:00