mirror of
https://github.com/apache/nuttx.git
synced 2026-08-01 20:28:58 +00:00
This commit refactors the CC1101 driver's read interface to comply with
the standard NuttX wireless character driver API and introduces extended
hardware operation modes.
- Migrate `cc1101_file_read` to accept and populate the standard
`struct wlioc_rx_hdr_s` instead of returning raw byte arrays.
- Implement `cc1101_calc_rssi_dbm_x100` to preserve the hardware's
0.5 dBm RSSI precision when scaling to 1/100 dBm units, eliminating
the integer truncation loss present in the legacy calculation.
- Add `CC1101IOC_SETOPMODE` and `CC1101IOC_GETOPMODE` IOCTLs.
- Introduce four RF operation modes (`enum cc1101_opmode_e`):
1. NORMAL: Standard packet mode with hardware filtering.
2. PROMISCUOUS: Packet mode bypassing address filtering and retaining
packets with CRC errors.
3. SYNC_SERIAL: Bypasses FIFO, routes clock and data to GDO0/GDO2.
4. ASYNC_SERIAL: Bypasses FIFO, routes async data to GDO2.
- Fix the `GS2200M_FIRST` IOCTL block offset in `wireless/ioctl.h` and
allocate a dedicated IOCTL block for CC1101.
Signed-off-by: Chip L. <chplee@gmail.com>
|
||
|---|---|---|
| .. | ||
| bluetooth | ||
| ieee80211 | ||
| ieee802154 | ||
| lpwan | ||
| spirit | ||
| cc1101.c | ||
| CMakeLists.txt | ||
| gs2200m.c | ||
| ISM1_868MHzGFSK100kbps.c | ||
| ISM2_433MHzMSK500kbps.c | ||
| ISM2_905MHzGFSK250kbps.c | ||
| Kconfig | ||
| Make.defs | ||
| nrf24l01.c | ||
| nrf24l01.h | ||