43 #include <ti/devices/DeviceFamily.h> 44 #include DeviceFamily_constructPath(driverlib/ioc.h) 45 #include DeviceFamily_constructPath(driverlib/cpu.h) 46 #include <ti/drivers/rf/RF.h> 47 #include <ti/drivers/pin/PINCC26XX.h> 54 void CC1352P_4_LAUNCHXL_sendExtFlashByte(PIN_Handle pinHandle, uint8_t byte)
59 PIN_setOutputValue(pinHandle, IOID_20, 0);
61 for (i = 0; i < 8; i++) {
62 PIN_setOutputValue(pinHandle, IOID_10, 0);
65 PIN_setOutputValue(pinHandle, IOID_9, (byte >> (7 - i)) & 0x01);
66 PIN_setOutputValue(pinHandle, IOID_10, 1);
76 PIN_setOutputValue(pinHandle, IOID_10, 0);
77 PIN_setOutputValue(pinHandle, IOID_20, 1);
91 PIN_Config extFlashPinTable[] = {
93 IOID_20 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL |
94 PIN_INPUT_DIS | PIN_DRVSTR_MED,
97 PIN_State extFlashPinState;
98 PIN_Handle extFlashPinHandle = PIN_open(&extFlashPinState, extFlashPinTable);
106 PIN_setOutputValue(extFlashPinHandle, IOID_20, 0);
109 PIN_setOutputValue(extFlashPinHandle, IOID_20, 1);
113 PIN_close(extFlashPinHandle);
124 PIN_Config extFlashPinTable[] = {
126 IOID_20 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL |
127 PIN_INPUT_DIS | PIN_DRVSTR_MED,
129 IOID_10 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL |
130 PIN_INPUT_DIS | PIN_DRVSTR_MED,
132 IOID_9 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL |
133 PIN_INPUT_DIS | PIN_DRVSTR_MED,
135 IOID_8 | PIN_INPUT_EN | PIN_PULLDOWN,
138 PIN_State extFlashPinState;
139 PIN_Handle extFlashPinHandle = PIN_open(&extFlashPinState, extFlashPinTable);
141 uint8_t extFlashShutdown = 0xB9;
143 CC1352P_4_LAUNCHXL_sendExtFlashByte(extFlashPinHandle, extFlashShutdown);
145 PIN_close(extFlashPinHandle);
153 #if defined(Board_RF_SUB1GHZ) 158 static PIN_Handle antennaPins;
159 static PIN_State antennaState;
161 void initAntennaSwitch()
163 PIN_Config antennaConfig[] = {
164 Board_RF_24GHZ | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
165 Board_RF_HIGH_PA | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
166 Board_RF_SUB1GHZ | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
169 antennaPins = PIN_open(&antennaState, antennaConfig);
184 void rfDriverCallback(RF_Handle client, RF_GlobalEvent events,
void *arg)
187 PINCC26XX_setOutputValue(Board_RF_24GHZ, 0);
188 PINCC26XX_setOutputValue(Board_RF_HIGH_PA, 0);
189 PINCC26XX_setOutputValue(Board_RF_SUB1GHZ, 0);
191 if (events & RF_GlobalEventRadioSetup) {
193 RF_TxPowerTable_PAType paType = (RF_TxPowerTable_PAType)RF_getTxPower(client).paType;
196 RF_RadioSetup* setupCommand = (RF_RadioSetup*)arg;
198 if (setupCommand->common.commandNo == CMD_PROP_RADIO_DIV_SETUP) {
200 if (paType == RF_TxPowerTable_HighPA) {
204 PINCC26XX_setMux(antennaPins, Board_RF_24GHZ, PINCC26XX_MUX_GPIO);
207 PINCC26XX_setMux(antennaPins, Board_RF_HIGH_PA, PINCC26XX_MUX_RFC_GPO3);
208 PINCC26XX_setMux(antennaPins, Board_RF_SUB1GHZ, PINCC26XX_MUX_RFC_GPO0);
211 PINCC26XX_setMux(antennaPins, Board_RF_24GHZ, PINCC26XX_MUX_GPIO);
212 PINCC26XX_setMux(antennaPins, Board_RF_HIGH_PA, PINCC26XX_MUX_GPIO);
213 PINCC26XX_setMux(antennaPins, Board_RF_SUB1GHZ, PINCC26XX_MUX_GPIO);
214 PINCC26XX_setOutputValue(Board_RF_SUB1GHZ, 1);
218 if (paType == RF_TxPowerTable_HighPA)
223 PINCC26XX_setMux(antennaPins, Board_RF_24GHZ, PINCC26XX_MUX_RFC_GPO0);
226 PINCC26XX_setMux(antennaPins, Board_RF_HIGH_PA, PINCC26XX_MUX_RFC_GPO3);
227 PINCC26XX_setMux(antennaPins, Board_RF_SUB1GHZ, PINCC26XX_MUX_GPIO);
230 PINCC26XX_setMux(antennaPins, Board_RF_24GHZ, PINCC26XX_MUX_GPIO);
231 PINCC26XX_setMux(antennaPins, Board_RF_HIGH_PA, PINCC26XX_MUX_GPIO);
232 PINCC26XX_setMux(antennaPins, Board_RF_SUB1GHZ, PINCC26XX_MUX_GPIO);
233 PINCC26XX_setOutputValue(Board_RF_24GHZ, 1);
238 PINCC26XX_setMux(antennaPins, Board_RF_24GHZ, PINCC26XX_MUX_GPIO);
239 PINCC26XX_setMux(antennaPins, Board_RF_HIGH_PA, PINCC26XX_MUX_GPIO);
240 PINCC26XX_setMux(antennaPins, Board_RF_SUB1GHZ, PINCC26XX_MUX_GPIO);
249 void Board_initHook()
251 #if defined(Board_RF_SUB1GHZ) void CC1352P_4_LAUNCHXL_wakeUpExtFlash(void)
Wake up the external flash present on the board files.
void CC1352P_4_LAUNCHXL_shutDownExtFlash(void)
Shut down the external flash present on the board files.