Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: TARGET_MOTE_L152RC/board.cpp
- Revision:
- 7:ccb3088ce5be
- Parent:
- 6:59ba1113b3c6
diff -r 59ba1113b3c6 -r ccb3088ce5be TARGET_MOTE_L152RC/board.cpp
--- a/TARGET_MOTE_L152RC/board.cpp Mon Feb 12 17:23:14 2018 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-#include "user_platform.h"
-
-#define RADIO_RESET PC_2 //NorAm_Mote Reset_sx
-#define RADIO_MOSI PB_15 //NorAm_Mote SPI2 Mosi
-#define RADIO_MISO PB_14 //NorAm_Mote SPI2 Miso
-#define RADIO_SCLK PB_13 //NorAm_Mote SPI2 Clk
-#define RADIO_NSS PB_12 //NorAm_Mote SPI2 Nss
-
-#define RADIO_DIO0 PC_6 //NorAm_Mote DIO0
-#define RADIO_DIO1 PC_10 //NorAm_Mote DIO1
-#define RADIO_DIO2 PC_8 //NorAm_Mote DIO2
-#define RADIO_DIO3 PB_4 //NorAm_Mote DIO3
-#define RADIO_DIO4 PB_5 //NorAm_Mote DIO4
-#define RADIO_DIO5 PB_6 //NorAm_Mote DIO5
-
-#define RFSW1 PC_4 //NorAm_Mote RFSwitch_CNTR_1
-#define RFSW2 PC_13 //NorAm_Mote RFSwitch_CNTR_2
-
-SPI spi(RADIO_MOSI, RADIO_MISO, RADIO_SCLK);
-SX127x radio(RADIO_DIO0, RADIO_DIO1, RADIO_NSS, spi, RADIO_RESET);
-
-DigitalOut rfsw1(RFSW1);
-DigitalOut rfsw2(RFSW2);
-DigitalOut pd2(PD_2);
-
-// txpow: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
-const uint8_t PaBTable[20] = { 0, 0, 0, 0, 0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15 };
-#define DBM_TO_PABOOST(x) (PaBTable[x])
-
-// txpow: 20 21 22 23 24 25 26 27 28 29 30
-const uint8_t RfoTable[11] = { 1, 1, 1, 2, 2, 3, 4, 5, 6, 8, 9 };
-#define DBM_TO_RFO(x) (RfoTable[x-20])
-#define DBM_TO_MOTE(x) \
-
-void rfsw_callback() {
- if (radio.RegOpMode.bits.Mode == RF_OPMODE_TRANSMITTER) { // start of transmission
- if (radio.HF) {
- if (radio.RegPaConfig.bits.PaSelect) { // if PA_BOOST
- rfsw2 = 0;
- rfsw1 = 1;
- } else { // RFO to power amp
- rfsw2 = 1;
- rfsw1 = 0;
- }
- }
- } else if (radio.RegOpMode.bits.Mode == RF_OPMODE_RECEIVER || radio.RegOpMode.bits.Mode == RF_OPMODE_CAD) { // start of reception
- if (radio.HF) {
- rfsw2 = 1;
- rfsw1 = 1;
- }
- } else { // RF switch shutdown
- rfsw2 = 0;
- rfsw1 = 0;
- }
-}
-
-// 9 10 1PPS
-// PB5-D4 HDR_DIO4 * 11 12 * HDR_DIO0 PA8-D7
-// ADC_IN3 13 14 HDR_FEM_SPARE PB1 RED_LED
-// 15 16
-// D3-PB3-SWO HDR_DIO2 17 18 HDR_FEM_CPS PB10-D6 YEL-LED
-// A5-PC0 HDR_FEM_CSD * 19 20 * HDR_FEM_CTX A4-PC1
-DigitalIn pinA(PB_5); // CONN_EXIT1-11
-DigitalIn pinB(PC_0); // CONN_EXIT1-19
-DigitalIn pinC(PA_8); // CONN_EXIT1-12
-DigitalIn pinD(PC_1); // CONN_EXIT1-20
-
-void cmd_op(int dbm)
-{
- int i = dbm;
- RegPdsTrim1_t pds_trim;
- uint8_t adr;
-
- radio.RegPaConfig.octet = radio.read_reg(REG_PACONFIG);
-
- if (dbm < 20) {
- radio.RegPaConfig.bits.PaSelect = 1;
- radio.RegPaConfig.bits.OutputPower = PaBTable[dbm];
- printf("PA_BOOST ");
- } else {
- radio.RegPaConfig.bits.PaSelect = 0;
- radio.RegPaConfig.bits.OutputPower = RfoTable[dbm-20];
- printf("RFO ");
- }
-
- printf("%ddBm, PaSelect%u, OutputPower%u\r\n", dbm,
- radio.RegPaConfig.bits.PaSelect,
- radio.RegPaConfig.bits.OutputPower
- );
-
- if (radio.type == SX1276)
- adr = REG_PDSTRIM1_SX1276;
- else
- adr = REG_PDSTRIM1_SX1272;
-
- pds_trim.octet = radio.read_reg(adr);
-
- if (radio.RegPaConfig.bits.PaSelect) {
- /* PABOOST used: +2dbm to +17, or +20 */
- if (i == 20) {
- printf("+20dBm PADAC bias\r\n");
- i -= 3;
- pds_trim.bits.prog_txdac = 7;
- radio.write_reg(adr, pds_trim.octet);
- cmd_ocp(150);
- } else if (dbm < 18) {
- pds_trim.bits.prog_txdac = 5;
- radio.write_reg(adr, pds_trim.octet);
- cmd_ocp(120);
- }
- } else
- cmd_ocp(80);
-
- radio.write_reg(REG_PACONFIG, radio.RegPaConfig.octet);
- printf("PaConfig:%02x, pd2:%u\r\n", radio.RegPaConfig.octet, pd2.read());
-
-}
-
-void board_init()
-{
- pd2 = 1;
- cmd_op(26);
-}