Other Parts Discussed in Thread: ENERGIA,
Tool/software: TI C/C++ Compiler
The details are as follows:
1.Configuration process(0x0c Instruction EEPROM->wait 100ms->0x0e Instruction Configuration TVG->wait 100ms->0x10 Instruction Configuration THRESHOLD->wait 100ms->BURST_LISTEN_PRESET1 Start measuring ->wait 500ms->0x05 Instruction Reading measurement results).
2.Results returned: The measured results returned are byte0 to 0x40 but the first set of measurements returned is small (almost unchanged), starting from the second set of randomly measured values, and the measured values do not change with the distance of the obstacle.
3.PGA460 Configuration
#define UART_ADD 0
#define MEASURE_OBJNUM 8 //Number of objects to be measured(1~8)
//==================CMD=================
#define BURST_LISTEN_PRESET1 ( 0 + (UART_ADD<<5) )
#define BURST_LISTEN_PRESET2 ( 1 + (UART_ADD<<5) )
#define LISTEN_PRESET1 ( 2 + (UART_ADD<<5) )
#define LISTEN_PRESET2 ( 3 + (UART_ADD<<5) )
#define READ_MESURE_RESULT ( 5 + (UART_ADD<<5) )
#define SYSTEMDIAGNOSTICS ( 8 + (UART_ADD<<5) ) //System Diagnostics
#define REGISTER_READ ( 9 + (UART_ADD<<5) )
#define REGISTER_WRITE ( 10 + (UART_ADD<<5) )
#define EEPROM_READ ( 11 + (UART_ADD<<5) )
#define EEPROM_WRITE ( 12 + (UART_ADD<<5) )
#define TVG_READ ( 13 + (UART_ADD<<5) )
#define TVG_WRITE ( 14 + (UART_ADD<<5) )
#define THRESHOLD_READ ( 15 + (UART_ADD<<5) )
#define THRESHOLD_WRITE ( 16 + (UART_ADD<<5) )
//===================EEPROM CFG VALUE(Fully closed probes)==================
#define USER_DATA1 0
#define USER_DATA2 0
#define USER_DATA3 0
#define USER_DATA4 0
#define USER_DATA5 0
#define USER_DATA6 0
#define USER_DATA7 0
#define USER_DATA8 0
#define USER_DATA9 0
#define USER_DATA10 0
#define USER_DATA11 0
#define USER_DATA12 0
#define USER_DATA13 0
#define USER_DATA14 0
#define USER_DATA15 0
#define USER_DATA16 0
#define USER_DATA17 0
#define USER_DATA18 0
#define USER_DATA19 0
#define USER_DATA20 0
#define TVGAIN0 0x88
#define TVGAIN1 0x88
#define TVGAIN2 0x88
#define TVGAIN3 0x82
#define TVGAIN4 0x08
#define TVGAIN5 0x20
#define TVGAIN6 0x80 //50% levels
#define INIT_GAIN 0x54 //01010100
#define FREQUENCY 0x32//0x8f
#define DEADTIME 0xa0
#define PULSE_P1 0x04 //4 pulse
#define PULSE_P2 0x10
#define CURR_LIM_P1 0x55 //Current limit21*7+50(MA)
#define CURR_LIM_P2 0x55
#define REC_LENGTH 0x19
#define FREQ_DIAG 0x33
#define SAT_FDIAG_TH 0xee
#define FVOLT_DEC 0x7c
#define DECPL_TEMP 0x4f //52~84db
#define DSP_SCALE 0x00
#define TEMP_TRIM 0x00
#define P1_GAIN_CTRL 0x09
#define P2_GAIN_CTRL 0x09
//==============================THRESHOLD==========================================
#define P1_THR_0 0x88
#define P1_THR_1 0x88
#define P1_THR_2 0x88
#define P1_THR_3 0x88
#define P1_THR_4 0x88
#define P1_THR_5 0x88
#define P1_THR_6 0x84
#define P1_THR_7 0x21
#define P1_THR_8 0x42
#define P1_THR_9 0x10
#define P1_THR_10 0x10
#define P1_THR_11 0x80
#define P1_THR_12 0x80
#define P1_THR_13 0x80
#define P1_THR_14 0x80
#define P1_THR_15 0x00
#define P2_THR_0 0x88
#define P2_THR_1 0x88
#define P2_THR_2 0x88
#define P2_THR_3 0x88
#define P2_THR_4 0x88
#define P2_THR_5 0x88
#define P2_THR_6 0x84
#define P2_THR_7 0x21
#define P2_THR_8 0x42
#define P2_THR_9 0x10
#define P2_THR_10 0x10
#define P2_THR_11 0x80
#define P2_THR_12 0x80
#define P2_THR_13 0x80
#define P2_THR_14 0x80
#define P2_THR_15 0x00