This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1310: Unexpected GPIO Input Values on CC1310 Using Sensor Controller API

Part Number: CC1310

I am using CC1310, and while reading the state of a GPIO pin I am encountering an issue.

When I configure IO0 and IO1, I always read a value of 0 using the API, even though I verified on the hardware side that the pin level is HIGH.

However, when I change the configuration to IO1, I can correctly read 1 when the pin is HIGH. But when I connect the pin to 0V (ground), the API returns a value of 3 instead of 0.

I am using the gpioGetInputValue(1, alertState) API to read the pin state.

Below is my example code:

U16 alertState;

gpioGetInputValue(1, alertState);

output.tempRead = alertState;

if (alertState == 1) {
    output.alert = 1;
    fwGenAlertInterrupt();
}

if (alertState != 1) {
    output.alert = 0;
}

fwGenAlertInterrupt();
fwScheduleTask(1);

My GPIO configuration is shown below. 


image.png

  • Hi tech_team,

    What package size are you using? Are you using a LAUCHXL-CC1310, this comes in a 7x7 package and there is no GPIO0. Or are you using a custom board with a different package size? 

    However I think the issue is that you are using  gpioGetInputValue(1; alertState) instead use the GPIO name defined by Sensor Controller, I think the index might had been incorrect.

    Go to I/O Mapping and assign Alert Pin to DIO1, and use

    gpioGetInputValue(AUXIO_I_ALERT_PIN; alertState);

    Best regards,

    Daniel