Prototype RF driver for STM Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo.
Prototype RF Driver for STM Sub-1 GHz RF Expansion Boards based on the SPSGRF-868 and SPSGRF-915 Modules for STM32 Nucleo
Currently supported boards:
Note, in order to use expansion board X-NUCLEO-IDS01A4 in mbed you need to perform the following HW modifications on the board:
- Unmount resistor
R4 - Mount resistor
R7
Furthermore, on some Nucleo development boards (e.g. the NUCLEO_F429ZI), in order to be able to use Ethernet together with these Sub-1 GHz RF expansion boards, you need to compile this driver with macro SPIRIT1_SPI_MOSI=PB_5 defined, while the development board typically requires some HW modification as e.g. described here!
This driver can be used together with the 6LoWPAN stack (a.k.a. Nanostack).
atmel-rf-driver/driverRFPhy.h@32:e5272bafeeea, 2016-11-21 (annotated)
- Committer:
- Wolfgang Betz
- Date:
- Mon Nov 21 10:04:43 2016 +0100
- Revision:
- 32:e5272bafeeea
Add custom file "driverRFPhy.h"
- To be discussed with ARM
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Wolfgang Betz |
32:e5272bafeeea | 1 | /* |
| Wolfgang Betz |
32:e5272bafeeea | 2 | * Copyright (c) 2014-2015 ARM Limited. All rights reserved. |
| Wolfgang Betz |
32:e5272bafeeea | 3 | * SPDX-License-Identifier: Apache-2.0 |
| Wolfgang Betz |
32:e5272bafeeea | 4 | * Licensed under the Apache License, Version 2.0 (the License); you may |
| Wolfgang Betz |
32:e5272bafeeea | 5 | * not use this file except in compliance with the License. |
| Wolfgang Betz |
32:e5272bafeeea | 6 | * You may obtain a copy of the License at |
| Wolfgang Betz |
32:e5272bafeeea | 7 | * |
| Wolfgang Betz |
32:e5272bafeeea | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| Wolfgang Betz |
32:e5272bafeeea | 9 | * |
| Wolfgang Betz |
32:e5272bafeeea | 10 | * Unless required by applicable law or agreed to in writing, software |
| Wolfgang Betz |
32:e5272bafeeea | 11 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
| Wolfgang Betz |
32:e5272bafeeea | 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| Wolfgang Betz |
32:e5272bafeeea | 13 | * See the License for the specific language governing permissions and |
| Wolfgang Betz |
32:e5272bafeeea | 14 | * limitations under the License. |
| Wolfgang Betz |
32:e5272bafeeea | 15 | */ |
| Wolfgang Betz |
32:e5272bafeeea | 16 | |
| Wolfgang Betz |
32:e5272bafeeea | 17 | #ifndef DRIVERRFPHY_H_ |
| Wolfgang Betz |
32:e5272bafeeea | 18 | #define DRIVERRFPHY_H_ |
| Wolfgang Betz |
32:e5272bafeeea | 19 | #ifdef __cplusplus |
| Wolfgang Betz |
32:e5272bafeeea | 20 | extern "C" { |
| Wolfgang Betz |
32:e5272bafeeea | 21 | #endif |
| Wolfgang Betz |
32:e5272bafeeea | 22 | |
| Wolfgang Betz |
32:e5272bafeeea | 23 | #include "nanostack/platform/arm_hal_phy.h" |
| Wolfgang Betz |
32:e5272bafeeea | 24 | |
| Wolfgang Betz |
32:e5272bafeeea | 25 | /*Atmel RF Part Type*/ |
| Wolfgang Betz |
32:e5272bafeeea | 26 | typedef enum { |
| Wolfgang Betz |
32:e5272bafeeea | 27 | ATMEL_UNKNOW_DEV = 0, |
| Wolfgang Betz |
32:e5272bafeeea | 28 | ATMEL_AT86RF212, |
| Wolfgang Betz |
32:e5272bafeeea | 29 | ATMEL_AT86RF231, |
| Wolfgang Betz |
32:e5272bafeeea | 30 | ATMEL_AT86RF233 |
| Wolfgang Betz |
32:e5272bafeeea | 31 | }rf_trx_part_e; |
| Wolfgang Betz |
32:e5272bafeeea | 32 | |
| Wolfgang Betz |
32:e5272bafeeea | 33 | extern int8_t rf_device_register(void); |
| Wolfgang Betz |
32:e5272bafeeea | 34 | extern rf_trx_part_e rf_radio_type_read(void); |
| Wolfgang Betz |
32:e5272bafeeea | 35 | extern void rf_read_mac_address(uint8_t *ptr); |
| Wolfgang Betz |
32:e5272bafeeea | 36 | extern int8_t rf_read_random(void); |
| Wolfgang Betz |
32:e5272bafeeea | 37 | |
| Wolfgang Betz |
32:e5272bafeeea | 38 | #ifdef __cplusplus |
| Wolfgang Betz |
32:e5272bafeeea | 39 | } |
| Wolfgang Betz |
32:e5272bafeeea | 40 | #endif |
| Wolfgang Betz |
32:e5272bafeeea | 41 | #endif /* DRIVERRFPHY_H_ */ |
X-NUCLEO-IDS01A4 Sub-1GHz RF Expansion Board