Atis Elsts
c850bae186
CC26xx IEEE mode: introduce and use LIMITED_BUSYWAIT macro; avoids watchdog reboots in cases when the radio fails to turn off
2017-03-14 18:42:09 +00:00
Atis Elsts
3b090d97c7
CC26xx IEEE mode: more robust radio timer handling: do not crash the system in case the radio timer failed to start; allow the overflow checker to be called when the radio is off
2017-03-14 18:41:05 +00:00
Atis Elsts
dbd9d32daf
CC26xx RF core: don't bail out from restarting the radio timer if just stopping it failed
2017-03-14 18:36:23 +00:00
Atis Elsts
cd1bcb101d
CC26xx IEEE mode radio: fix reading lqi
2017-01-26 13:31:15 +00:00
George Oikonomou
07de8b238b
Easy manipulation of CC13xx Prop Mode RX buffers
2017-01-15 12:25:10 +00:00
George Oikonomou
ba12ed2cce
Re-initialise RX buffers each time we turn the RF on
2017-01-15 12:24:30 +00:00
g.oikonomou@bristol.ac.uk
ec4b403e77
Allow and document IEEE mode for CC13xx
2016-10-07 10:05:14 +01:00
Antonio Lignan
cb42bafbfb
Merge pull request #1756 from g-oikonomou/contrib/cc26xx/new-ccxxwares
...
Update to latest TI CC13xxware/CC26xxware
2016-08-16 15:44:41 +02:00
Antonio Lignan
7ddbe640be
Merge pull request #1795 from g-oikonomou/contrib/sensniff
...
Add generic sensniff example and remove legacy sniffers
2016-08-16 14:47:17 +02:00
George Oikonomou
983a618a36
Extend CC13xx PROP mode driver
...
We now write a dummy LQI in read() and we also add support for `RADIO_PARAM_RX_MODE` in `set_value()`
2016-08-12 01:23:50 +01:00
George Oikonomou
dbd4f630fd
Remove built-in sniffer support: CC13xx PROP mode
2016-08-12 01:23:49 +01:00
George Oikonomou
8ab0522cec
Fix PROP mode channel switching
...
If `NETSTACK_CONF_RADIO.set_value(RADIO_PARAM_CHANNEL, ...)` is called when radio is on, it will fail to apply the channel change, because it won't re-send `CMD_PROP_RADIO_DIV_SETUP` and `CMD_PROP_FS`. This commit fixes this condition, by making sure the correct commands are sent to the radio.
2016-07-24 03:39:13 +01:00
George Oikonomou
dc1f9fe010
Simplify MODESEL value determination
2016-07-17 00:26:52 +01:00
George Oikonomou
ccba6bdb20
Update cpu files to reflect API in latest CCxxware versions
2016-07-17 00:26:51 +01:00
Atis Elsts
2fe4b4d5bb
CC26xx: enable MCU sleeping while transmitting if and only if not in poll mode
2016-07-16 18:22:20 +01:00
Atis Elsts
b6617f17c5
CC26xx: always request HF crystal oscillator at radio on()
2016-06-29 16:41:33 +03:00
Atis Elsts
e233c3f27f
cc26xx: change CCA logic to be standard-compatible; change receiving_packet to return true iff sync (SFD) has been seen
2016-06-14 00:54:33 +03:00
Atis Elsts
d85667d535
cc26xx: packet queue changes: allow to read packets after radio has been turned off; make pending_packet() return true when there is a packets being received
2016-06-14 00:54:33 +03:00
Atis Elsts
54e4b5f351
cc26xx: allow IEEE 802.15.4 frames with version 2, required for TSCH
2016-06-14 00:54:33 +03:00
Atis Elsts
80aa30c5da
cc26xx: add support for RADIO_PARAM_TX_MODE getting and setting and for LAST_RSSI and LAST_LQI reading
2016-06-14 00:54:33 +03:00
Atis Elsts
25c5f0b744
cc26xx: implement support for CC2650_FAST_RADIO_STARTUP
2016-06-14 00:54:33 +03:00
Atis Elsts
97c1cfc3b4
cc26xx: return the expected value 0 from prepare() in ieee and prop mode radio
2016-06-14 00:54:33 +03:00
Atis Elsts
e19fbc996e
cc26xx: use CMD_IEEE_MOD_FILT to change address filtering instead of fully restarting the radio
2016-06-14 00:54:33 +03:00
Atis Elsts
ac6f8008fd
cc26xx: implement poll mode, hardware timestamps, and other minor changes in the IEEE radio driver
2016-06-14 00:54:32 +03:00
George Oikonomou
00d5645d16
Merge pull request #1601 from philrhinehart/bugfix-cc26xx-ble-events
...
cc26xx-cc13xx BLE beacon event issue
2016-04-18 20:06:33 +01:00
Phil Rhinehart
5d5544151f
Fixed bug in cc26xx-cc13xx rf-core. When running BLE in conjunction with ContikiMAC, oscillators were modified from an interrupt state causing occasional bus faults and infinite loops. We now check if BLE is active prior to modifiying the oscillators to avoid these conditions.
2016-04-18 17:17:07 +08:00
Phil Rhinehart
2a07dc0e0a
This fixes an event handling issue in the cc26xx BLE driver. Currently, the rf_ble_beacon_process triggers the BLE beacon upon receiving any event, rather than verifying that the event timer has expired. This means that any PROCESS_BROADCAST (e.g. any sensor event) will fire the beacon. This commit adds logic to prevent this.
2016-04-18 17:14:37 +08:00
George Oikonomou
d42b1b50e5
Allow the caller to access the entire content of CMDSTA
...
When sending a command to the CC13xx/CC25xx RF core, we wait for command completion by checking the LSB of CMDSTA (correctly so). However, in doing so we also zero out the 3 CMDSTA return bytes. For some commands, those bytes contain useful information (e.g. an RSSI value) and are required by the caller.
This problem manifests itself e.g. in PROP mode `channel_clear()`, whereby the caller will always see an RSSI value of 0.
This pull therefore fixes the logic in `rf_core_send_cmd()` to check for command completion by blocking on the CMDSTA result byte without zeroing out the 3 return bytes.
Fixes #1465
2016-01-24 13:39:14 +00:00
George Oikonomou
b97a3d1049
Merge pull request #1242 from g-oikonomou/contrib/cc26xx-ieee-volatile-cmd-ieee-tx
...
Use volatile access for CMD_IEEE_TX
2016-01-09 18:01:40 +00:00
George Oikonomou
3a831cbebf
Merge pull request #1322 from g-oikonomou/bugfix/cc26xx/interrupt-flag-management
...
Clear CC26xx/CC13xx interrupt flags selectively
2016-01-09 18:01:15 +00:00
George Oikonomou
109696174f
Merge pull request #1350 from g-oikonomou/bugfix/cc26xx/tx-power
...
Correctly set new CC26xx TX power when the RFC is powered off
2016-01-09 17:59:24 +00:00
George Oikonomou
fa002c2d73
Merge pull request #1321 from g-oikonomou/bugfix/cc26xx/remove-redundant-reads
...
Remove redundant function calls in CC13xx/CC26xx RFC code
2016-01-09 17:52:15 +00:00
Benoît Thébaudeau
6166693a11
Merge pull request #1133 from bkozak-scanimetrics/cc-gcc
...
put gcc specific stuff into seperate .h
2015-12-05 00:39:59 +01:00
George Oikonomou
b4393e861f
Only set CC13xx prop mode channel if a new channel is being requested
2015-11-14 01:38:24 +01:00
George Oikonomou
320a753666
Turn CC13xx RF back off after prop TX if it was off to start with
2015-11-14 01:38:24 +01:00
George Oikonomou
e0e20aa3fd
Turn off ENERGEST_TYPE_LISTEN in CC13xx prop mode off()
2015-11-14 01:38:24 +01:00
George Oikonomou
a63efe947f
Merge pull request #1233 from adamdunkels/pr/26xx-13xx-fixes
...
CC26xx/CC13xx fixes
2015-11-09 08:33:58 +00:00
George Oikonomou
54648591ee
Explicitly send CMD_ABORT in prop mode before powering down
2015-11-01 22:53:35 +00:00
George Oikonomou
f401c7cc60
Save new TX power setting even if the RFC is powered off.
...
The current logic attempts to send `CMD_SET_TX_POWER` before saving the new power setting. If `CMD_SET_TX_POWER` fails the power setting will not get saved. As a result, when the RFC is powered off, all attempts to change TX power will fail.
This commit changes this logic to always save the new TX setting as requested by the user. If the RFC is powered up, we apply it immediately. If it is powered down, the new setting will automatically be applied next time we send `CMD_RADIO_SETUP`.
Fixes #1340
2015-11-01 20:56:52 +00:00
George Oikonomou
1ee40ef021
Fix the logic that detects whether a command is a Radio OP
2015-11-01 20:48:28 +00:00
George Oikonomou
946b72a58d
Mask CMDSTA when waiting for a command to get accepted
2015-11-01 20:46:46 +00:00
George Oikonomou
55b41863d5
Remove redundant function calls in CC26xx RFC code
...
As discussed in #1279 , the current CC13xx/CC26xx rf-core code makes some unnecessary power domain-related reads. This commit removes them.
Closes #1279
2015-10-24 20:54:33 +01:00
George Oikonomou
8636a28248
Clear interrupt flags selectively
...
As discussed in #1294 , every time a CC13xx/CC26xx RF interrupt fires, we clear all interrupt flags unconditionally. This may result in missed events. This patch fixes this bug by clearing only the flag that triggered the interrupt in the first place.
Fixes #1294
2015-10-24 20:51:34 +01:00
Billy Kozak
8e5f0bc36a
Defining gcc specific macros in seperate header
2015-09-22 14:17:10 -06:00
Billy Kozak
324d03b53c
CC26xx - fully shutdown the rf-core & abort rx op
...
Prior to this patch, the ieee radio driver did not explicitly abort
the rx operation or power down the analog components of the radio
prior to shutting down the rf-core.
The result of this was that the rf-core continued to use a lot of
power even while "off".
This patch fixes this problem.
2015-09-14 13:18:01 -06:00
George Oikonomou
4ce6d215e8
Use volatile access for CMD_IEEE_TX
2015-09-04 17:59:25 +01:00
Billy Kozak
b71353181d
CC26xx - enable correct IRQ in rf_core_cmd_done_en
...
Fix for #1229
rf_core_cmd_done_en() was enabling the wrong irq for detecting the
completion of foreground operations. This was causing cc26xx devices
to not wake-up on time when calling lpm_sleep() from transmit().
2015-09-02 12:37:33 -06:00
Adam Dunkels
8d2dafbe30
No need to set the same channel again
2015-09-02 12:18:27 +02:00
Adam Dunkels
27e373492d
Turn off energest listen in off()
2015-09-02 12:10:44 +02:00
Adam Dunkels
f1c4a5ee08
Turn off radio again after transmitting
2015-09-02 12:10:07 +02:00