RTC auf true
components/802_15_4_RF/stm-s2lp-rf-driver/stm-s2lp-rf-driver/NanostackRfPhys2lp.h@2:7aab896b1a3b, 2019-03-13 (annotated)
- Committer:
- kevman
- Date:
- Wed Mar 13 11:03:24 2019 +0000
- Revision:
- 2:7aab896b1a3b
2019-03-13
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kevman | 2:7aab896b1a3b | 1 | /* |
kevman | 2:7aab896b1a3b | 2 | * Copyright (c) 2018 ARM Limited. All rights reserved. |
kevman | 2:7aab896b1a3b | 3 | * SPDX-License-Identifier: Apache-2.0 |
kevman | 2:7aab896b1a3b | 4 | * Licensed under the Apache License, Version 2.0 (the License); you may |
kevman | 2:7aab896b1a3b | 5 | * not use this file except in compliance with the License. |
kevman | 2:7aab896b1a3b | 6 | * You may obtain a copy of the License at |
kevman | 2:7aab896b1a3b | 7 | * |
kevman | 2:7aab896b1a3b | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
kevman | 2:7aab896b1a3b | 9 | * |
kevman | 2:7aab896b1a3b | 10 | * Unless required by applicable law or agreed to in writing, software |
kevman | 2:7aab896b1a3b | 11 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
kevman | 2:7aab896b1a3b | 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
kevman | 2:7aab896b1a3b | 13 | * See the License for the specific language governing permissions and |
kevman | 2:7aab896b1a3b | 14 | * limitations under the License. |
kevman | 2:7aab896b1a3b | 15 | */ |
kevman | 2:7aab896b1a3b | 16 | |
kevman | 2:7aab896b1a3b | 17 | #ifndef NANOSTACK_PHY_S2LP_H_ |
kevman | 2:7aab896b1a3b | 18 | #define NANOSTACK_PHY_S2LP_H_ |
kevman | 2:7aab896b1a3b | 19 | |
kevman | 2:7aab896b1a3b | 20 | #include "mbed.h" |
kevman | 2:7aab896b1a3b | 21 | #if defined(MBED_CONF_NANOSTACK_CONFIGURATION) && DEVICE_SPI |
kevman | 2:7aab896b1a3b | 22 | #include "NanostackRfPhy.h" |
kevman | 2:7aab896b1a3b | 23 | |
kevman | 2:7aab896b1a3b | 24 | // Uncomment to use testing gpios attached to TX/RX processes |
kevman | 2:7aab896b1a3b | 25 | //#define TEST_GPIOS_ENABLED |
kevman | 2:7aab896b1a3b | 26 | |
kevman | 2:7aab896b1a3b | 27 | #if !defined(S2LP_SPI_SDI) |
kevman | 2:7aab896b1a3b | 28 | #define S2LP_SPI_SDI D11 |
kevman | 2:7aab896b1a3b | 29 | #endif |
kevman | 2:7aab896b1a3b | 30 | #if !defined(S2LP_SPI_SDO) |
kevman | 2:7aab896b1a3b | 31 | #define S2LP_SPI_SDO D12 |
kevman | 2:7aab896b1a3b | 32 | #endif |
kevman | 2:7aab896b1a3b | 33 | #if !defined(S2LP_SPI_SCLK) |
kevman | 2:7aab896b1a3b | 34 | #define S2LP_SPI_SCLK D13 |
kevman | 2:7aab896b1a3b | 35 | #endif |
kevman | 2:7aab896b1a3b | 36 | #if !defined(S2LP_SPI_CS) |
kevman | 2:7aab896b1a3b | 37 | #define S2LP_SPI_CS A1 |
kevman | 2:7aab896b1a3b | 38 | #endif |
kevman | 2:7aab896b1a3b | 39 | #if !defined(S2LP_SPI_SDN) |
kevman | 2:7aab896b1a3b | 40 | #define S2LP_SPI_SDN D7 |
kevman | 2:7aab896b1a3b | 41 | #endif |
kevman | 2:7aab896b1a3b | 42 | #if !defined(S2LP_SPI_TEST1) |
kevman | 2:7aab896b1a3b | 43 | #define S2LP_SPI_TEST1 D6 |
kevman | 2:7aab896b1a3b | 44 | #endif |
kevman | 2:7aab896b1a3b | 45 | #if !defined(S2LP_SPI_TEST2) |
kevman | 2:7aab896b1a3b | 46 | #define S2LP_SPI_TEST2 D5 |
kevman | 2:7aab896b1a3b | 47 | #endif |
kevman | 2:7aab896b1a3b | 48 | #if !defined(S2LP_SPI_TEST3) |
kevman | 2:7aab896b1a3b | 49 | #define S2LP_SPI_TEST3 D4 |
kevman | 2:7aab896b1a3b | 50 | #endif |
kevman | 2:7aab896b1a3b | 51 | #if !defined(S2LP_SPI_TEST4) |
kevman | 2:7aab896b1a3b | 52 | #define S2LP_SPI_TEST4 D2 |
kevman | 2:7aab896b1a3b | 53 | #endif |
kevman | 2:7aab896b1a3b | 54 | #if !defined(S2LP_SPI_TEST5) |
kevman | 2:7aab896b1a3b | 55 | #define S2LP_SPI_TEST5 D8 |
kevman | 2:7aab896b1a3b | 56 | #endif |
kevman | 2:7aab896b1a3b | 57 | #if !defined(S2LP_SPI_GPIO0) |
kevman | 2:7aab896b1a3b | 58 | #define S2LP_SPI_GPIO0 A0 |
kevman | 2:7aab896b1a3b | 59 | #endif |
kevman | 2:7aab896b1a3b | 60 | #if !defined(S2LP_SPI_GPIO1) |
kevman | 2:7aab896b1a3b | 61 | #define S2LP_SPI_GPIO1 A2 |
kevman | 2:7aab896b1a3b | 62 | #endif |
kevman | 2:7aab896b1a3b | 63 | #if !defined(S2LP_SPI_GPIO2) |
kevman | 2:7aab896b1a3b | 64 | #define S2LP_SPI_GPIO2 A3 |
kevman | 2:7aab896b1a3b | 65 | #endif |
kevman | 2:7aab896b1a3b | 66 | #if !defined(S2LP_SPI_GPIO3) |
kevman | 2:7aab896b1a3b | 67 | #define S2LP_SPI_GPIO3 A5 |
kevman | 2:7aab896b1a3b | 68 | #endif |
kevman | 2:7aab896b1a3b | 69 | |
kevman | 2:7aab896b1a3b | 70 | class RFPins; |
kevman | 2:7aab896b1a3b | 71 | |
kevman | 2:7aab896b1a3b | 72 | class NanostackRfPhys2lp : public NanostackRfPhy { |
kevman | 2:7aab896b1a3b | 73 | public: |
kevman | 2:7aab896b1a3b | 74 | NanostackRfPhys2lp(PinName spi_sdi, PinName spi_sdo, |
kevman | 2:7aab896b1a3b | 75 | PinName spi_sclk, PinName spi_cs, PinName spi_sdn, |
kevman | 2:7aab896b1a3b | 76 | #ifdef TEST_GPIOS_ENABLED |
kevman | 2:7aab896b1a3b | 77 | PinName spi_test1, PinName spi_test2, PinName spi_test3, PinName spi_test4, PinName spi_test5, |
kevman | 2:7aab896b1a3b | 78 | #endif //TEST_GPIOS_ENABLED |
kevman | 2:7aab896b1a3b | 79 | PinName spi_gpio0, PinName spi_gpio1, PinName spi_gpio2, PinName spi_gpio3); |
kevman | 2:7aab896b1a3b | 80 | virtual ~NanostackRfPhys2lp(); |
kevman | 2:7aab896b1a3b | 81 | virtual int8_t rf_register(); |
kevman | 2:7aab896b1a3b | 82 | virtual void rf_unregister(); |
kevman | 2:7aab896b1a3b | 83 | virtual void get_mac_address(uint8_t *mac); |
kevman | 2:7aab896b1a3b | 84 | virtual void set_mac_address(uint8_t *mac); |
kevman | 2:7aab896b1a3b | 85 | |
kevman | 2:7aab896b1a3b | 86 | private: |
kevman | 2:7aab896b1a3b | 87 | uint8_t _mac_addr[8]; |
kevman | 2:7aab896b1a3b | 88 | RFPins *_rf; |
kevman | 2:7aab896b1a3b | 89 | bool _mac_set; |
kevman | 2:7aab896b1a3b | 90 | |
kevman | 2:7aab896b1a3b | 91 | const PinName _spi_sdi; |
kevman | 2:7aab896b1a3b | 92 | const PinName _spi_sdo; |
kevman | 2:7aab896b1a3b | 93 | const PinName _spi_sclk; |
kevman | 2:7aab896b1a3b | 94 | const PinName _spi_cs; |
kevman | 2:7aab896b1a3b | 95 | const PinName _spi_sdn; |
kevman | 2:7aab896b1a3b | 96 | #ifdef TEST_GPIOS_ENABLED |
kevman | 2:7aab896b1a3b | 97 | const PinName _spi_test1; |
kevman | 2:7aab896b1a3b | 98 | const PinName _spi_test2; |
kevman | 2:7aab896b1a3b | 99 | const PinName _spi_test3; |
kevman | 2:7aab896b1a3b | 100 | const PinName _spi_test4; |
kevman | 2:7aab896b1a3b | 101 | const PinName _spi_test5; |
kevman | 2:7aab896b1a3b | 102 | #endif //TEST_GPIOS_ENABLED |
kevman | 2:7aab896b1a3b | 103 | const PinName _spi_gpio0; |
kevman | 2:7aab896b1a3b | 104 | const PinName _spi_gpio1; |
kevman | 2:7aab896b1a3b | 105 | const PinName _spi_gpio2; |
kevman | 2:7aab896b1a3b | 106 | const PinName _spi_gpio3; |
kevman | 2:7aab896b1a3b | 107 | }; |
kevman | 2:7aab896b1a3b | 108 | #endif /* MBED_CONF_NANOSTACK_CONFIGURATION && DEVICE_SPI */ |
kevman | 2:7aab896b1a3b | 109 | #endif /* NANOSTACK_PHY_S2LP_H_ */ |