I'm using the CC2640R2F, but suppose this applies to any of the CC13XX, CC26XX, or even CC31XX devices.
Is there a reference, white paper, or blog out there that explains the method for using PIN_Config and GPIO_PinConfig? I'm using the project zero for CC2642R2 as a guide, and see PIN_Config (BoardGpioInitTable[]) and GPIO_PinConfig (gpioPinConfigs[]) created in the CC2640R2_LAUNCHXL.c file, then two instances of PIN_Config (ledPinTable[] and buttonPinTable[]) created in project_zero.c.
What do all those PIN_GPIO_LOW, GPIO_CFG_OUT_STR_HIGH, PIN_PUSHPULL, and PIN_IRQ_BOTHEDGESs mean?
What is the placing of the constants in the row: CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,?
The Launchpad board has its LEDs' anodes connected (via current-limiting resister) to the IO pins, with the cathode to ground. I've inherited a project where the board is layed out with the anode connected to 3.3V and the cathode connected (via current-limiting resistor) to the IO pin. Should these LEDs' PIN_Config definition be different?
Finally, I've got my breadboard setup working, except for the need to send a 0 to turn the LED OFF, and a non-zero to turn the LED ON. This is where the magic happens:
// Set the output value equal to the received value. 0 is off, not 0 is on
PIN_setOutputValue(ledPinHandle, Board_RLED, pCharData->data[0]);
What can I do to that pCharData->data[0] to make a zero into a one and a not 0 into a zero?