Fabián Olivera
10/06/2025, 1:28 PMGPIO_MODE_USER_STD_ANALOG
) but have not been able to communicate with our project in the USER area yet.
We would greatly appreciate any guidance or suggestions on what we might be missing, especially regarding the correct configuration of the GPIOs for analog operation or any known issues with the Caravan firmware.
Thank you in advance for your help!
Best regards,
Fabián OliveraTim Edwards
10/06/2025, 1:36 PMFabián Olivera
10/06/2025, 1:57 PMFabián Olivera
10/06/2025, 7:47 PM#include <defs.h>
void main()
{
//reg_spimaster_config = 0xa002;
reg_mprj_datal = 0x00000000;
reg_mprj_datah = 0x00000000;
// Ring oscillator circuit
// Ring_VDD = reg_mprj_io_9
// Ring_OUT = reg_mprj_io_10
reg_mprj_io_9 = GPIO_MODE_MGMT_STD_ANALOG;
reg_mprj_io_10 = GPIO_MODE_MGMT_STD_ANALOG;
// LDO regulator circuit
// LDO_VDD = reg_mprj_io_30
// LDO_IREF = reg_mprj_io_31
// LDO_VB = reg_mprj_io_32
// LDO_VS = reg_mprj_io_33
// LDO_OUT = reg_mprj_io_34
reg_mprj_io_30 = GPIO_MODE_USER_STD_ANALOG;
reg_mprj_io_31 = GPIO_MODE_USER_STD_ANALOG;
reg_mprj_io_32 = GPIO_MODE_USER_STD_ANALOG;
reg_mprj_io_33 = GPIO_MODE_USER_STD_ANALOG;
reg_mprj_io_34 = GPIO_MODE_USER_STD_ANALOG;
// pulldown from 0 to 8
reg_mprj_io_0 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_1 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_2 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_3 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_4 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_5 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_6 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_7 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_8 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
// pulldown from 11 to 29
reg_mprj_io_11 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_12 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_13 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_14 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_15 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_16 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_17 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_18 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_19 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_20 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_21 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_22 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_23 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_24 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_25 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_26 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_27 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_28 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_29 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
// pulldown from 35 to 37
reg_mprj_io_35 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_36 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
reg_mprj_io_37 = GPIO_MODE_MGMT_STD_INPUT_PULLDOWN;
// Apply configuration
reg_mprj_xfer = 1;
while (reg_mprj_xfer == 1);
// Idle forever
while (1);
}