Index: firmware/App/Common.h =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/App/Common.h (.../Common.h) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/App/Common.h (.../Common.h) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -22,7 +22,7 @@ // ********** build switches ********** #ifndef _VECTORCAST_ -// #define RM46_EVAL_BOARD_TARGET 1 + #define RM46_EVAL_BOARD_TARGET 1 // #define SIMULATE_UI 1 #endif Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -18,6 +18,7 @@ #include "etpwm.h" #include "Common.h" +#include "InternalADC.h" #include "SystemCommMessages.h" #include "TaskPriority.h" #include "Timers.h" @@ -26,8 +27,11 @@ // ********** private definitions ********** #define MAX_BLOOD_FLOW_RATE 600 // mL/min -#define MAX_BLOOD_PUMP_PWM_STEP_CHANGE 0.005 // duty cycle +#define MAX_BLOOD_PUMP_PWM_STEP_CHANGE 0.005 // duty cycle TODO - fixed or parameterized or set in motor controller? +#define BP_SPEED_ADC_2_RPM_FACTOR 0.05 // conversion factor from ADC counts to RPM for blood pump motor TODO - set appropriate value +#define BP_CURRENT_ADC_2_MA_FACTOR 0.1 // conversion factor from ADC counts to mA for blood pump motor TODO - set appropriate value + typedef enum BloodPump_States { BLOOD_PUMP_OFF_STATE = 0, @@ -65,6 +69,9 @@ static MOTOR_DIR_T bloodPumpDirection = MOTOR_DIR_FORWARD; // requested blood flow direction static MOTOR_DIR_T bloodPumpDirectionSet = MOTOR_DIR_FORWARD; // currently set blood flow direction +static F32 adcBloodPumpSpeedRPM = 0; +static F32 adcBloodPumpCurrentmA = 0; + static BLOOD_FLOW_SELF_TEST_STATE_T bloodPumpSelfTestState = BLOOD_FLOW_SELF_TEST_STATE_START; static U32 bloodPumpSelfTestTimerCount = 0; @@ -168,7 +175,8 @@ *************************************************************************/ void execBloodFlowMonitor( void ) { - // TODO + adcBloodPumpSpeedRPM = (F32)getIntADCReading( INT_ADC_BLOOD_PUMP_SPEED ) * BP_SPEED_ADC_2_RPM_FACTOR; + adcBloodPumpCurrentmA = (F32)getIntADCReading( INT_ADC_BLOOD_PUMP_MOTOR_CURRENT ) * BP_CURRENT_ADC_2_MA_FACTOR; } /************************************************************************* Index: firmware/App/Drivers/InternalADC.c =================================================================== diff -u --- firmware/App/Drivers/InternalADC.c (revision 0) +++ firmware/App/Drivers/InternalADC.c (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -0,0 +1,184 @@ +/************************************************************************** + * + * Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. + * + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * @file InternalADC.c + * + * @date 08-Nov-2019 + * @author S. Nash + * + * @brief Driver for the internal ADC peripheral. + * + **************************************************************************/ + +#include "adc.h" + +#include "InternalADC.h" + +// ********** private definitions ********** + +#define MAX_ADC_CHANNELS 24 // ADC supports up to 24 channels +#define SIZE_OF_ROLLING_AVG 16 // samples in rolling average calculations +#define ROLLING_AVG_SHIFT_DIVIDER 4 // rolling average shift divider + +const INT_ADC_CHANNEL_T adcChannelNum2ChannelId[MAX_ADC_CHANNELS+1] = +{ + INT_ADC_NOT_USED, // 0 (N/A - channels start at 1) + INT_ADC_NOT_USED, // 1 + INT_ADC_NOT_USED, // 2 + INT_ADC_NOT_USED, // 3 + INT_ADC_NOT_USED, // 4 + INT_ADC_NOT_USED, // 5 + INT_ADC_NOT_USED, // 6 + INT_ADC_NOT_USED, // 7 + INT_ADC_NOT_USED, // 8 + INT_ADC_NOT_USED, // 9 + INT_ADC_NOT_USED, // 10 + INT_ADC_NOT_USED, // 11 + INT_ADC_NOT_USED, // 12 + INT_ADC_NOT_USED, // 13 + INT_ADC_NOT_USED, // 14 + INT_ADC_NOT_USED, // 15 + INT_ADC_BLOOD_PUMP_SPEED, // 16 + INT_ADC_BLOOD_PUMP_MOTOR_CURRENT, // 17 + INT_ADC_NOT_USED, // 18 + INT_ADC_NOT_USED, // 19 + INT_ADC_NOT_USED, // 20 + INT_ADC_NOT_USED, // 21 + INT_ADC_NOT_USED, // 22 + INT_ADC_NOT_USED, // 23 + INT_ADC_NOT_USED // 24 +}; + +// ********** private data ********** + +static adcData_t adcRawReadings[NUM_OF_INT_ADC_CHANNELS]; // buffer holds latest adc channel readings +static U32 adcRawReadingsCount = 0; // readings count for raw readings buffer + +static U16 adcReadings[NUM_OF_INT_ADC_CHANNELS][SIZE_OF_ROLLING_AVG]; // holds samples for each channel for a rolling average +static U32 adcReadingsIdx[NUM_OF_INT_ADC_CHANNELS]; // index for next reading in each rolling average array +static U32 adcReadingsTotals[NUM_OF_INT_ADC_CHANNELS]; // rolling total for each channel - used to calc average +static U32 adcReadingsAvgs[NUM_OF_INT_ADC_CHANNELS]; // rolling average for each channel + +// ********** private function prototypes ********** + + + +/************************************************************************* + * @brief initInternalADC + * The initInternalADC function initializes the InternalADC module. + * @details + * Inputs : none + * Outputs : InternalADC module is initialized. + * @param none + * @return none + *************************************************************************/ +void initInternalADC( void ) +{ + U32 c,r; + + // zero all adc values and stats + adcRawReadingsCount = 0; + for ( c = 0; c < NUM_OF_INT_ADC_CHANNELS; c++ ) + { + adcRawReadings[c].id = 0; + adcRawReadings[c].value = 0; + adcReadingsIdx[c] = 0; + adcReadingsTotals[c] = 0; + adcReadingsAvgs[c] = 0; + for ( r = 0; r < SIZE_OF_ROLLING_AVG; r++ ) + { + adcReadings[c][r] = 0; + } + } + + // enable interrupt when all channels converted + adcEnableNotification( adcREG1, adcGROUP1 ); +} + +/************************************************************************* + * @brief adcNotification + * The adcNotification function handles an ADC conversion complete interrupt. \n + * All channel readings in the FIFO are retrieved. + * @details + * Inputs : ADC FIFO + * Outputs : adcRawReadingsCount, adcRawReadings[] + * @param adc : pointer to the ADC1 controller + * @param group : ADC channel group ID + * @return none + *************************************************************************/ +void adcNotification( adcBASE_t *adc, uint32 group ) +{ + if ( adcGROUP1 == group ) + { + adcRawReadingsCount = adcGetData( adcREG1, adcGROUP1, adcRawReadings ); + } +} + +/************************************************************************* + * @brief execInternalADC + * The execInternalADC function processes the last set of raw ADC channel \n + * readings and kicks off the next conversion of ADC channels. + * @details + * Inputs : adcRawReadingsCount, adcRawReadings[] + * Outputs : adcReadings[][], adcReadingsIdx[], adcReadingsTotals[], adcReadingsAvgs[] + * @param adc : pointer to the ADC1 controller + * @param group : ADC channel group ID + * @return none + *************************************************************************/ +void execInternalADC( void ) +{ + U32 i; + + if ( adcRawReadingsCount < NUM_OF_INT_ADC_CHANNELS ) + { + // process readings from last conversion + for ( i = 0; i < adcRawReadingsCount; i++ ) + { + U32 ch = adcChannelNum2ChannelId[adcRawReadings[i].id]; + + adcReadingsTotals[ch] -= adcReadings[ch][adcReadingsIdx[ch]]; + adcReadings[ch][adcReadingsIdx[ch]] = adcRawReadings[i].value; + adcReadingsTotals[ch] += adcRawReadings[i].value; + adcReadingsAvgs[ch] = adcReadingsTotals[ch] >> ROLLING_AVG_SHIFT_DIVIDER; + adcReadingsIdx[ch] = INC_WRAP( adcReadingsIdx[ch], 0, SIZE_OF_ROLLING_AVG-1 ); + } + } + else + { + // TODO - s/w fault + } + + // start an adc channel group conversion + adcStartConversion( adcREG1, adcGROUP1 ); +} + +/************************************************************************* + * @brief getIntADCReading + * The getIntADCReading function gets the latest average reading for a given \n + * channel. + * @details + * Inputs : adcReadingsAvgs[] + * Outputs : none + * @param channel : adc channel to retrieve a reading for + * @return average reading for the given channel + *************************************************************************/ +U16 getIntADCReading( INT_ADC_CHANNEL_T channel ) +{ + U16 result = 0; + + if ( channel < NUM_OF_INT_ADC_CHANNELS ) + { + result = adcReadingsAvgs[channel]; + } + else + { + // TODO - s/w fault + } + + return result; +} + Index: firmware/App/Drivers/InternalADC.h =================================================================== diff -u --- firmware/App/Drivers/InternalADC.h (revision 0) +++ firmware/App/Drivers/InternalADC.h (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -0,0 +1,38 @@ +/************************************************************************** + * + * Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. + * + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * @file Comm.h + * + * @date 08-Nov-2019 + * @author S. Nash + * + * @brief Header file for internal ADC driver module. + * + **************************************************************************/ + +#ifndef __INT_ADC_H__ +#define __INT_ADC_H__ + +#include "Common.h" + +// ********** public definitions ********** + +typedef enum Int_ADC_Channels +{ + INT_ADC_NOT_USED = 0, + INT_ADC_BLOOD_PUMP_SPEED, + INT_ADC_BLOOD_PUMP_MOTOR_CURRENT, + NUM_OF_INT_ADC_CHANNELS +} INT_ADC_CHANNEL_T; + +// ********** public function prototypes ********** + +void initInternalADC( void ); +void execInternalADC( void ); +U16 getIntADCReading( INT_ADC_CHANNEL_T channel ); + +#endif Index: firmware/App/Services/FPGA.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -42,6 +42,10 @@ #define FPGA_PAGE_SIZE 256 #define FPGA_EXPECTED_ID 0x59 +#define FPGA_HEADER_START_ADDR 256 // update these after re-arranging w/ Randy +#define FPGA_BULK_READ_START_ADDR 262 +#define FPGA_BULK_WRITE_START_ADDR 2 + #define FPGA_WRITE_CMD_BUFFER_LEN (FPGA_PAGE_SIZE+8) #define FPGA_READ_CMD_BUFFER_LEN 8 #define FPGA_WRITE_RSP_BUFFER_LEN 8 @@ -50,15 +54,14 @@ #define FPGA_WRITE_CMD_CODE 0x55 #define FPGA_READ_CMD_CODE 0x5A #define FPGA_WRITE_CMD_ACK 0xA5 -#define FPGA_WRITE_CMD_NAK 0xAE #define FPGA_READ_CMD_ACK 0xAA -#define FPGA_READ_CMD_NAK 0xAF +#define FPGA_CMD_NAK 0xEE #define FPGA_CRC_LEN 2 #define FPGA_WRITE_CMD_HDR_LEN 4 #define FPGA_READ_CMD_HDR_LEN 4 -#define FPGA_WRITE_RSP_HDR_LEN 1 -#define FPGA_READ_RSP_HDR_LEN 1 +#define FPGA_WRITE_RSP_HDR_LEN 3 +#define FPGA_READ_RSP_HDR_LEN 3 #define SCI2_RECEIVE_DMA_REQUEST 28 #define SCI2_TRANSMIT_DMA_REQUEST 29 @@ -71,13 +74,11 @@ { U08 fpgaId; U08 fpgaRev; - U08 fpgaDiag; - U08 gap1; - U16 fpgaStatus; U16 fpgaControl; -} FPGA_HEADER_T; + U16 fpgaStatus; +} FPGA_HEADER_T; // read only on FPGA -typedef struct +typedef struct // TODO - add all sensor readings to this structure per FPGA register map { U16 bloodLeak; U32 adc1b; @@ -90,8 +91,9 @@ U32 dialysateTemp2; } FPGA_SENSORS_T; -typedef struct +typedef struct // TODO - add all actuator set points to this structure per FPGA register map { + U08 bloodValveSetState; } FPGA_ACTUATORS_T; #pragma pack(pop) @@ -481,12 +483,12 @@ U16 crc = MAKE_WORD_OF_BYTES( fpgaReadResponseBuffer[crcPos+1], fpgaReadResponseBuffer[crcPos] ); // does the FPGA response CRC check out? - if ( crc == crc16( fpgaReadResponseBuffer, rspSize ) ) -// if ( 1 ) // TODO - remove when FPGA CRCs are implemented +// if ( crc == crc16( fpgaReadResponseBuffer, rspSize ) ) + if ( 1 ) // TODO - remove when FPGA CRCs are implemented { fpgaCommRetryCount = 0; // capture the read values - memcpy( &fpgaHeader, &fpgaReadResponseBuffer[1], sizeof(FPGA_HEADER_T) ); + memcpy( &fpgaHeader, &fpgaReadResponseBuffer[FPGA_READ_RSP_HDR_LEN], sizeof(FPGA_HEADER_T) ); result = FPGA_STATE_WRITE_ALL_ACTUATORS; } else @@ -545,7 +547,7 @@ fpgaReadCmdBuffer[5] = GET_MSB_OF_WORD( crc ); // prep DMA for sending the bulk write cmd and receiving its response setupDMAForWriteCmd( FPGA_WRITE_CMD_HDR_LEN + 1 + FPGA_CRC_LEN ); // TODO s/b sizeof(FPGA_ACTUATORS_T) instead of 1 - setupDMAForWriteResp( FPGA_WRITE_RSP_HDR_LEN ); + setupDMAForWriteResp( FPGA_WRITE_RSP_HDR_LEN + FPGA_CRC_LEN ); // prep DMA for sending the bulk read cmd and receiving its response setupDMAForReadCmd( FPGA_READ_CMD_HDR_LEN + FPGA_CRC_LEN ); setupDMAForReadResp( FPGA_READ_RSP_HDR_LEN + sizeof(FPGA_SENSORS_T) + FPGA_CRC_LEN ); @@ -590,12 +592,12 @@ U16 crc = MAKE_WORD_OF_BYTES( fpgaReadResponseBuffer[crcPos+1], fpgaReadResponseBuffer[crcPos] ); // does the FPGA response CRC check out? - if ( crc == crc16( fpgaReadResponseBuffer, rspSize ) ) -// if ( 1 ) // TODO - remove when FPGA CRCs are implemented +// if ( crc == crc16( fpgaReadResponseBuffer, rspSize ) ) + if ( 1 ) // TODO - remove when FPGA CRCs are implemented { fpgaCommRetryCount = 0; // capture the read values - memcpy( &fpgaSensorReadings, &fpgaReadResponseBuffer[1], sizeof(FPGA_SENSORS_T) ); + memcpy( &fpgaSensorReadings, &fpgaReadResponseBuffer[FPGA_READ_RSP_HDR_LEN], sizeof(FPGA_SENSORS_T) ); result = FPGA_STATE_WRITE_ALL_ACTUATORS; } else // bad CRC @@ -633,7 +635,7 @@ SELF_TEST_STATUS_T result = SELF_TEST_STATUS_FAILED; // check FPGA reported correct ID - //if ( FPGA_EXPECTED_ID == fpgaHeader.fpgaId ) + if ( FPGA_EXPECTED_ID == fpgaHeader.fpgaId ) { result = SELF_TEST_STATUS_PASSED; } @@ -832,21 +834,6 @@ } /************************************************************************* - * @brief getFPGADiag - * The getFPGADiag function gets the version read from the diagnostic register \n - * of the FPGA. - * @details - * Inputs : fpgaHeader - * Outputs : none - * @param none - * @return fpgaDiag - *************************************************************************/ -U08 getFPGADiag( void ) -{ - return fpgaHeader.fpgaDiag; -} - -/************************************************************************* * @brief getFPGAStatus * The getFPGAStatus function gets the version read from the diagnostic register \n * of the FPGA. Index: firmware/App/Tasks/TaskPriority.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -16,6 +16,7 @@ //#include "gio.h" +#include "InternalADC.h" #include "BloodFlow.h" #include "Buttons.h" #include "FPGA.h" @@ -38,6 +39,9 @@ // monitor and process buttons execButtons(); + // monitor internal ADC channels + execInternalADC(); + // monitor blood pump and flow execBloodFlowMonitor(); Index: firmware/Debug/App/Drivers/subdir_vars.mk =================================================================== diff -u -reff7b1575f008f81b29ef906f6346fac6012d3ab -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/Debug/App/Drivers/subdir_vars.mk (.../subdir_vars.mk) (revision eff7b1575f008f81b29ef906f6346fac6012d3ab) +++ firmware/Debug/App/Drivers/subdir_vars.mk (.../subdir_vars.mk) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -6,31 +6,37 @@ C_SRCS += \ ../App/Drivers/CPLD.c \ ../App/Drivers/Comm.c \ +../App/Drivers/InternalADC.c \ ../App/Drivers/SafetyShutdown.c C_DEPS += \ ./App/Drivers/CPLD.d \ ./App/Drivers/Comm.d \ +./App/Drivers/InternalADC.d \ ./App/Drivers/SafetyShutdown.d OBJS += \ ./App/Drivers/CPLD.obj \ ./App/Drivers/Comm.obj \ +./App/Drivers/InternalADC.obj \ ./App/Drivers/SafetyShutdown.obj OBJS__QUOTED += \ "App/Drivers/CPLD.obj" \ "App/Drivers/Comm.obj" \ +"App/Drivers/InternalADC.obj" \ "App/Drivers/SafetyShutdown.obj" C_DEPS__QUOTED += \ "App/Drivers/CPLD.d" \ "App/Drivers/Comm.d" \ +"App/Drivers/InternalADC.d" \ "App/Drivers/SafetyShutdown.d" C_SRCS__QUOTED += \ "../App/Drivers/CPLD.c" \ "../App/Drivers/Comm.c" \ +"../App/Drivers/InternalADC.c" \ "../App/Drivers/SafetyShutdown.c" Index: firmware/Debug/ccsObjs.opt =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/Debug/ccsObjs.opt (.../ccsObjs.opt) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/Debug/ccsObjs.opt (.../ccsObjs.opt) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -1 +1 @@ -"./irqDispatch_a.obj" "./irqDispatch_c.obj" "./App/Controllers/AlarmLamp.obj" "./App/Controllers/BloodFlow.obj" "./App/Controllers/Buttons.obj" "./App/Drivers/CPLD.obj" "./App/Drivers/Comm.obj" "./App/Drivers/SafetyShutdown.obj" "./App/Modes/ModeFault.obj" "./App/Modes/ModeInitPOST.obj" "./App/Modes/ModeOpParams.obj" "./App/Modes/ModePostTreat.obj" "./App/Modes/ModePreTreat.obj" "./App/Modes/ModePrescription.obj" "./App/Modes/ModeService.obj" "./App/Modes/ModeStandby.obj" "./App/Modes/ModeTreatment.obj" "./App/Modes/OperationModes.obj" "./App/Services/CommBuffers.obj" "./App/Services/FPGA.obj" "./App/Services/Interrupts.obj" "./App/Services/MsgQueues.obj" "./App/Services/SystemComm.obj" "./App/Services/SystemCommMessages.obj" "./App/Services/Timers.obj" "./App/Services/Utilities.obj" "./App/Services/WatchdogMgmt.obj" "./App/Tasks/TaskBG.obj" "./App/Tasks/TaskGeneral.obj" "./App/Tasks/TaskPriority.obj" "./App/Tasks/TaskTimer.obj" "./source/adc.obj" "./source/can.obj" "./source/dabort.obj" "./source/errata_SSWF021_45.obj" "./source/esm.obj" "./source/etpwm.obj" "./source/gio.obj" "./source/lin.obj" "./source/mibspi.obj" "./source/notification.obj" "./source/pinmux.obj" "./source/rti.obj" "./source/sci.obj" "./source/sys_core.obj" "./source/sys_dma.obj" "./source/sys_intvecs.obj" "./source/sys_main.obj" "./source/sys_mpu.obj" "./source/sys_pcr.obj" "./source/sys_phantom.obj" "./source/sys_pmm.obj" "./source/sys_pmu.obj" "./source/sys_selftest.obj" "./source/sys_startup.obj" "./source/sys_vim.obj" "./source/system.obj" "../source/sys_link.cmd" -lrtsv7R4_T_le_v3D16_eabi.lib \ No newline at end of file +"./irqDispatch_a.obj" "./irqDispatch_c.obj" "./App/Controllers/AlarmLamp.obj" "./App/Controllers/BloodFlow.obj" "./App/Controllers/Buttons.obj" "./App/Drivers/CPLD.obj" "./App/Drivers/Comm.obj" "./App/Drivers/InternalADC.obj" "./App/Drivers/SafetyShutdown.obj" "./App/Modes/ModeFault.obj" "./App/Modes/ModeInitPOST.obj" "./App/Modes/ModeOpParams.obj" "./App/Modes/ModePostTreat.obj" "./App/Modes/ModePreTreat.obj" "./App/Modes/ModePrescription.obj" "./App/Modes/ModeService.obj" "./App/Modes/ModeStandby.obj" "./App/Modes/ModeTreatment.obj" "./App/Modes/OperationModes.obj" "./App/Services/CommBuffers.obj" "./App/Services/FPGA.obj" "./App/Services/Interrupts.obj" "./App/Services/MsgQueues.obj" "./App/Services/SystemComm.obj" "./App/Services/SystemCommMessages.obj" "./App/Services/Timers.obj" "./App/Services/Utilities.obj" "./App/Services/WatchdogMgmt.obj" "./App/Tasks/TaskBG.obj" "./App/Tasks/TaskGeneral.obj" "./App/Tasks/TaskPriority.obj" "./App/Tasks/TaskTimer.obj" "./source/adc.obj" "./source/can.obj" "./source/dabort.obj" "./source/errata_SSWF021_45.obj" "./source/esm.obj" "./source/etpwm.obj" "./source/gio.obj" "./source/lin.obj" "./source/mibspi.obj" "./source/notification.obj" "./source/pinmux.obj" "./source/rti.obj" "./source/sci.obj" "./source/sys_core.obj" "./source/sys_dma.obj" "./source/sys_intvecs.obj" "./source/sys_main.obj" "./source/sys_mpu.obj" "./source/sys_pcr.obj" "./source/sys_phantom.obj" "./source/sys_pmm.obj" "./source/sys_pmu.obj" "./source/sys_selftest.obj" "./source/sys_startup.obj" "./source/sys_vim.obj" "./source/system.obj" "../source/sys_link.cmd" -lrtsv7R4_T_le_v3D16_eabi.lib \ No newline at end of file Index: firmware/Debug/makefile =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/Debug/makefile (.../makefile) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/Debug/makefile (.../makefile) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -15,6 +15,7 @@ "./App/Controllers/Buttons.obj" \ "./App/Drivers/CPLD.obj" \ "./App/Drivers/Comm.obj" \ +"./App/Drivers/InternalADC.obj" \ "./App/Drivers/SafetyShutdown.obj" \ "./App/Modes/ModeFault.obj" \ "./App/Modes/ModeInitPOST.obj" \ @@ -220,10 +221,10 @@ # Other Targets clean: -$(RM) $(BIN_OUTPUTS__QUOTED)$(EXE_OUTPUTS__QUOTED) - -$(RM) "irqDispatch_a.obj" "irqDispatch_c.obj" "App/Controllers/AlarmLamp.obj" "App/Controllers/BloodFlow.obj" "App/Controllers/Buttons.obj" "App/Drivers/CPLD.obj" "App/Drivers/Comm.obj" "App/Drivers/SafetyShutdown.obj" "App/Modes/ModeFault.obj" "App/Modes/ModeInitPOST.obj" "App/Modes/ModeOpParams.obj" "App/Modes/ModePostTreat.obj" "App/Modes/ModePreTreat.obj" "App/Modes/ModePrescription.obj" "App/Modes/ModeService.obj" "App/Modes/ModeStandby.obj" "App/Modes/ModeTreatment.obj" "App/Modes/OperationModes.obj" "App/Services/CommBuffers.obj" "App/Services/FPGA.obj" "App/Services/Interrupts.obj" "App/Services/MsgQueues.obj" "App/Services/SystemComm.obj" "App/Services/SystemCommMessages.obj" "App/Services/Timers.obj" "App/Services/Utilities.obj" "App/Services/WatchdogMgmt.obj" "App/Tasks/TaskBG.obj" "App/Tasks/TaskGeneral.obj" "App/Tasks/TaskPriority.obj" "App/Tasks/TaskTimer.obj" "source/adc.obj" "source/can.obj" "source/dabort.obj" "source/errata_SSWF021_45.obj" "source/esm.obj" "source/etpwm.obj" - -$(RM) "source/gio.obj" "source/lin.obj" "source/mibspi.obj" "source/notification.obj" "source/pinmux.obj" "source/rti.obj" "source/sci.obj" "source/sys_core.obj" "source/sys_dma.obj" "source/sys_intvecs.obj" "source/sys_main.obj" "source/sys_mpu.obj" "source/sys_pcr.obj" "source/sys_phantom.obj" "source/sys_pmm.obj" "source/sys_pmu.obj" "source/sys_selftest.obj" "source/sys_startup.obj" "source/sys_vim.obj" "source/system.obj" - -$(RM) "irqDispatch_c.d" "App/Controllers/AlarmLamp.d" "App/Controllers/BloodFlow.d" "App/Controllers/Buttons.d" "App/Drivers/CPLD.d" "App/Drivers/Comm.d" "App/Drivers/SafetyShutdown.d" "App/Modes/ModeFault.d" "App/Modes/ModeInitPOST.d" "App/Modes/ModeOpParams.d" "App/Modes/ModePostTreat.d" "App/Modes/ModePreTreat.d" "App/Modes/ModePrescription.d" "App/Modes/ModeService.d" "App/Modes/ModeStandby.d" "App/Modes/ModeTreatment.d" "App/Modes/OperationModes.d" "App/Services/CommBuffers.d" "App/Services/FPGA.d" "App/Services/Interrupts.d" "App/Services/MsgQueues.d" "App/Services/SystemComm.d" "App/Services/SystemCommMessages.d" "App/Services/Timers.d" "App/Services/Utilities.d" "App/Services/WatchdogMgmt.d" "App/Tasks/TaskBG.d" "App/Tasks/TaskGeneral.d" "App/Tasks/TaskPriority.d" "App/Tasks/TaskTimer.d" "source/adc.d" "source/can.d" "source/errata_SSWF021_45.d" "source/esm.d" "source/etpwm.d" "source/gio.d" "source/lin.d" "source/mibspi.d" "source/notification.d" "source/pinmux.d" "source/rti.d" "source/sci.d" - -$(RM) "source/sys_dma.d" "source/sys_main.d" "source/sys_pcr.d" "source/sys_phantom.d" "source/sys_pmm.d" "source/sys_selftest.d" "source/sys_startup.d" "source/sys_vim.d" "source/system.d" + -$(RM) "irqDispatch_a.obj" "irqDispatch_c.obj" "App/Controllers/AlarmLamp.obj" "App/Controllers/BloodFlow.obj" "App/Controllers/Buttons.obj" "App/Drivers/CPLD.obj" "App/Drivers/Comm.obj" "App/Drivers/InternalADC.obj" "App/Drivers/SafetyShutdown.obj" "App/Modes/ModeFault.obj" "App/Modes/ModeInitPOST.obj" "App/Modes/ModeOpParams.obj" "App/Modes/ModePostTreat.obj" "App/Modes/ModePreTreat.obj" "App/Modes/ModePrescription.obj" "App/Modes/ModeService.obj" "App/Modes/ModeStandby.obj" "App/Modes/ModeTreatment.obj" "App/Modes/OperationModes.obj" "App/Services/CommBuffers.obj" "App/Services/FPGA.obj" "App/Services/Interrupts.obj" "App/Services/MsgQueues.obj" "App/Services/SystemComm.obj" "App/Services/SystemCommMessages.obj" "App/Services/Timers.obj" "App/Services/Utilities.obj" "App/Services/WatchdogMgmt.obj" "App/Tasks/TaskBG.obj" "App/Tasks/TaskGeneral.obj" "App/Tasks/TaskPriority.obj" "App/Tasks/TaskTimer.obj" "source/adc.obj" "source/can.obj" "source/dabort.obj" "source/errata_SSWF021_45.obj" "source/esm.obj" + -$(RM) "source/etpwm.obj" "source/gio.obj" "source/lin.obj" "source/mibspi.obj" "source/notification.obj" "source/pinmux.obj" "source/rti.obj" "source/sci.obj" "source/sys_core.obj" "source/sys_dma.obj" "source/sys_intvecs.obj" "source/sys_main.obj" "source/sys_mpu.obj" "source/sys_pcr.obj" "source/sys_phantom.obj" "source/sys_pmm.obj" "source/sys_pmu.obj" "source/sys_selftest.obj" "source/sys_startup.obj" "source/sys_vim.obj" "source/system.obj" + -$(RM) "irqDispatch_c.d" "App/Controllers/AlarmLamp.d" "App/Controllers/BloodFlow.d" "App/Controllers/Buttons.d" "App/Drivers/CPLD.d" "App/Drivers/Comm.d" "App/Drivers/InternalADC.d" "App/Drivers/SafetyShutdown.d" "App/Modes/ModeFault.d" "App/Modes/ModeInitPOST.d" "App/Modes/ModeOpParams.d" "App/Modes/ModePostTreat.d" "App/Modes/ModePreTreat.d" "App/Modes/ModePrescription.d" "App/Modes/ModeService.d" "App/Modes/ModeStandby.d" "App/Modes/ModeTreatment.d" "App/Modes/OperationModes.d" "App/Services/CommBuffers.d" "App/Services/FPGA.d" "App/Services/Interrupts.d" "App/Services/MsgQueues.d" "App/Services/SystemComm.d" "App/Services/SystemCommMessages.d" "App/Services/Timers.d" "App/Services/Utilities.d" "App/Services/WatchdogMgmt.d" "App/Tasks/TaskBG.d" "App/Tasks/TaskGeneral.d" "App/Tasks/TaskPriority.d" "App/Tasks/TaskTimer.d" "source/adc.d" "source/can.d" "source/errata_SSWF021_45.d" "source/esm.d" "source/etpwm.d" "source/gio.d" "source/lin.d" "source/mibspi.d" "source/notification.d" "source/pinmux.d" + -$(RM) "source/rti.d" "source/sci.d" "source/sys_dma.d" "source/sys_main.d" "source/sys_pcr.d" "source/sys_phantom.d" "source/sys_pmm.d" "source/sys_selftest.d" "source/sys_startup.d" "source/sys_vim.d" "source/system.d" -$(RM) "irqDispatch_a.d" "source/dabort.d" "source/sys_core.d" "source/sys_intvecs.d" "source/sys_mpu.d" "source/sys_pmu.d" -@echo 'Finished clean' -@echo ' ' Index: firmware/HD.dil =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/HD.dil (.../HD.dil) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/HD.dil (.../HD.dil) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -1,4 +1,4 @@ -# RM46L852PGE 11/06/19 07:57:31 +# RM46L852PGE 11/08/19 14:28:44 # ARCH=RM46L852PGE # @@ -80,7 +80,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_PRAGMA_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_TYPE.VALUE=IRQ DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_TYPE.VALUE=FIQ DRIVER.SYSTEM.VAR.SAFETY_INIT_CCM_SELFCHECK_ENA.VALUE=0 DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATE_AVAIL.VALUE=1 DRIVER.SYSTEM.VAR.ECLK_CLKSRC.VALUE=0 @@ -420,7 +420,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_PRAGMA_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_ENABLE.VALUE=1 DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_TYPE.VALUE=FIQ DRIVER.SYSTEM.VAR.PMM_LOGIC_PD3_STATE.VALUE=1 DRIVER.SYSTEM.VAR.SAFETY_INIT_EFUSE_SELFCHECK_ENA.VALUE=1 @@ -443,7 +443,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_TYPE.VALUE=IRQ DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_TYPE.VALUE=FIQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_TYPE.VALUE=IRQ DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_NAME.VALUE=phantomInterrupt DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_NAME.VALUE=phantomInterrupt DRIVER.SYSTEM.VAR.CLKT_PLL2_DIV.VALUE=1 @@ -604,7 +604,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_TYPE.VALUE=IRQ DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_PRAGMA_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_PRAGMA_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_PRAGMA_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_PRAGMA_ENABLE.VALUE=1 DRIVER.SYSTEM.VAR.PINMUX_ENABLE.VALUE=1 DRIVER.SYSTEM.VAR.PBIST_ALGO_3_4.VALUE=0 DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS_VALUE.VALUE=1 @@ -632,7 +632,7 @@ DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_END_ADDRESS.VALUE=0x0802ffff DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_PRAGMA_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.CLKT_LPO_OSCFRQCONFIGCNT_VALUE.VALUE=0 DRIVER.SYSTEM.VAR.CLKT_AVCLK2_SOURCE.VALUE=VCLK @@ -838,7 +838,7 @@ DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_TYPE.VALUE=IRQ DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_PRAGMA_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_PRAGMA_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_PRAGMA_ENABLE.VALUE=0 DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI3_RAMPARITYCHECK_ENA.VALUE=1 DRIVER.SYSTEM.VAR.ETPWM3_ENABLE.VALUE=1 DRIVER.SYSTEM.VAR.DCC1_ENABLE.VALUE=1 @@ -5552,13 +5552,13 @@ DRIVER.ADC.VAR.ADC2_GROUP2_PIN0_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_RAM_PARITY_ENA.VALUE=0 DRIVER.ADC.VAR.ADC1_GROUP1_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_CHANNEL_TOTAL_TIME.VALUE=3.338546 -DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=2 DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=2 -DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=2 DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=1.258 +DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=3.271 DRIVER.ADC.VAR.ADC2_PORT_BIT0_DIR.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP1_PIN4_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_PIN11_ENABLE.VALUE=0x00000000 @@ -5583,13 +5583,13 @@ DRIVER.ADC.VAR.ADC1_GROUP2_PIN23_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN15_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_PRESCALER.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_PRESCALER.VALUE=0 DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULDIS.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP2_PIN5_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=387.08 -DRIVER.ADC.VAR.ADC1_GROUP0_CONVERSION_TIME.VALUE=1.258 +DRIVER.ADC.VAR.ADC1_GROUP1_ID_ENABLE.VALUE=0x00000020 +DRIVER.ADC.VAR.ADC1_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=503.22 +DRIVER.ADC.VAR.ADC1_GROUP0_CONVERSION_TIME.VALUE=3.271 DRIVER.ADC.VAR.ADC2_GROUP0_RESOLUTION.VALUE=12_BIT DRIVER.ADC.VAR.ADC1_GROUP1_PIN1_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_RESOLUTION.VALUE=12_BIT @@ -5615,15 +5615,15 @@ DRIVER.ADC.VAR.ADC2_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_TIME.VALUE=300.00 DRIVER.ADC.VAR.ADC2_GROUP0_LENGTH.VALUE=16 -DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_PRESCALER.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_PRESCALER.VALUE=0 DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULDIS.VALUE=0 DRIVER.ADC.VAR.ADC1_GROUP2_PIN2_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN20_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN12_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_PIN10_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN24_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN16_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=387.08 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN16_ENABLE.VALUE=0x00010000 +DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=503.22 DRIVER.ADC.VAR.ADC2_GROUP0_PIN6_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_MODE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_PORT_BIT0_PSL.VALUE=1 @@ -5642,7 +5642,7 @@ DRIVER.ADC.VAR.ADC2_RAMBASE.VALUE=0xFF3A0000 DRIVER.ADC.VAR.ADC2_GROUP0_BND.VALUE=8 DRIVER.ADC.VAR.ADC1_PORT_BIT0_DOUT.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=48.386 DRIVER.ADC.VAR.ADC1_GROUP0_RESOLUTION.VALUE=12_BIT DRIVER.ADC.VAR.ADC2_GROUP2_FIFO_SIZE.VALUE=16 DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000000 @@ -5656,9 +5656,9 @@ DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP1_PIN11_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN17_ENABLE.VALUE=0x00020000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN17_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_PARITY_ENABLE.VALUE=0x00000005 -DRIVER.ADC.VAR.ADC1_ACTUAL_CYCLE_TIME.VALUE=96.77 +DRIVER.ADC.VAR.ADC1_ACTUAL_CYCLE_TIME.VALUE=251.61 DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP2_PIN15_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN0_ENABLE.VALUE=0x00000000 @@ -5673,7 +5673,7 @@ DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN11_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP2_FIFO_SIZE.VALUE=32 DRIVER.ADC.VAR.ADC1_GROUP1_PIN4_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_RAMBASE.VALUE=0xFF3E0000 DRIVER.ADC.VAR.ADC1_BASE.VALUE=0xFFF7C000 @@ -5682,8 +5682,8 @@ DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP2_ID_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=387.08 -DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=32 -DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=8 +DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=62 +DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 DRIVER.ADC.VAR.ADC2_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP1_PIN5_ENABLE.VALUE=0x00000000 @@ -5701,7 +5701,7 @@ DRIVER.ADC.VAR.ADC1_GROUP2_PIN5_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN23_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=8 +DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=1 DRIVER.ADC.VAR.ADC2_GROUP2_PIN13_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN19_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_PORT_BIT0_DOUT.VALUE=0 @@ -5726,25 +5726,25 @@ DRIVER.ADC.VAR.ADC1_PORT_BIT0_PDR.VALUE=0 DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_TIME.VALUE=300.00 DRIVER.ADC.VAR.ADC1_GROUP1_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_CONVERSION_TIME.VALUE=1.258 -DRIVER.ADC.VAR.ADC1_GROUP0_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP1_CONVERSION_TIME.VALUE=3.271 +DRIVER.ADC.VAR.ADC1_GROUP0_FIFO_SIZE.VALUE=0 DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULL.VALUE=2 -DRIVER.ADC.VAR.ADC1_GROUP0_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP0_LENGTH.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP1_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC1_GROUP0_PINS.VALUE=2 -DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=387.08 +DRIVER.ADC.VAR.ADC1_GROUP0_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=503.22 DRIVER.ADC.VAR.ADC2_GROUP1_PIN3_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_PIN10_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_ID_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN6_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_SCAN_TIME.VALUE=0.000 DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC1_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=387.08 +DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=7.596826 +DRIVER.ADC.VAR.ADC1_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=503.22 DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP1_PIN14_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_PORT_BIT0_PSL.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=387.08 +DRIVER.ADC.VAR.ADC1_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=503.22 DRIVER.ADC.VAR.ADC2_GROUP1_LENGTH.VALUE=16 DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT DRIVER.ADC.VAR.ADC1_GROUP2_PIN3_ENABLE.VALUE=0x00000000 @@ -5754,28 +5754,28 @@ DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP2_PIN11_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN17_ENABLE.VALUE=0x00020000 DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 DRIVER.ADC.VAR.ADC2_GROUP0_PIN7_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN10_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 DRIVER.ADC.VAR.ADC2_GROUP0_PIN0_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN22_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_CYCLE_TIME.VALUE=100 +DRIVER.ADC.VAR.ADC1_CYCLE_TIME.VALUE=250 DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_PRESCALER.VALUE=0 DRIVER.ADC.VAR.ADC2_GROUP2_PIN4_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN7_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_TIME.VALUE=0.00 DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT DRIVER.ADC.VAR.ADC1_GROUP1_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_ID_ENABLE.VALUE=0x00000020 +DRIVER.ADC.VAR.ADC1_GROUP0_ID_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_TIME.VALUE=0.00 DRIVER.ADC.VAR.ADC1_GROUP2_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=2 DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_ALT_TRIG_COMP.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000002 +DRIVER.ADC.VAR.ADC1_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP1_PIN8_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_PIN15_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_ALT_TRIG.VALUE=0 @@ -5796,7 +5796,7 @@ DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT DRIVER.ADC.VAR.ADC2_GROUP0_PIN5_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN19_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_PRESCALE.VALUE=9 +DRIVER.ADC.VAR.ADC1_PRESCALE.VALUE=25 DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=387.08 DRIVER.ADC.VAR.ADC1_GROUP2_PINS.VALUE=0 DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULL.VALUE=2 @@ -5809,8 +5809,8 @@ DRIVER.ADC.VAR.ADC2_GROUP2_PIN2_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=387.08 -DRIVER.ADC.VAR.ADC1_GROUP0_SCAN_TIME.VALUE=48.386 +DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=503.22 +DRIVER.ADC.VAR.ADC1_GROUP0_SCAN_TIME.VALUE=0.000 DRIVER.ADC.VAR.ADC2_GROUP1_PIN6_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_PIN13_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 @@ -5821,7 +5821,7 @@ DRIVER.ADC.VAR.ADC2_GROUP1_PIN10_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP2_PIN6_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_PIN24_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN16_ENABLE.VALUE=0x00010000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN16_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC2_GROUP2_PIN14_ENABLE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_MODE.VALUE=0x00000000 DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 @@ -8026,7 +8026,7 @@ DRIVER.PINMUX.VAR.MUX11_OPTION3.VALUE=0 DRIVER.PINMUX.VAR.MUX11_OPTION4.VALUE=0 DRIVER.PINMUX.VAR.ETPWM_TBCLK_SYNC_ENABLE.VALUE=0 -DRIVER.PINMUX.VAR.AD1.VALUE=1 +DRIVER.PINMUX.VAR.AD1.VALUE=0 DRIVER.PINMUX.VAR.MUX11_OPTION5.VALUE=0 DRIVER.PINMUX.VAR.AD2.VALUE=0 DRIVER.PINMUX.VAR.MUX94_CONFLICT.VALUE=0 @@ -8732,7 +8732,7 @@ DRIVER.PINMUX.VAR.DMA_ADDMR_17_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.DMA_CHANNEL_11_VALUE.VALUE=0x0001 DRIVER.PINMUX.VAR.MUX1_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX31_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX23_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX15_OPTION0.VALUE=0 DRIVER.PINMUX.VAR.MUX1_OPTION4.VALUE=0 Index: firmware/include/adc.h =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/include/adc.h (.../adc.h) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/include/adc.h (.../adc.h) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -230,22 +230,22 @@ }adc_config_reg_t; #define ADC1_OPMODECR_CONFIGVALUE 0x81140001U -#define ADC1_CLOCKCR_CONFIGVALUE (9U) +#define ADC1_CLOCKCR_CONFIGVALUE (25U) -#define ADC1_G0MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000020U | (uint32)0x00000002U) -#define ADC1_G1MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000000U) +#define ADC1_G0MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U) +#define ADC1_G1MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000020U | (uint32)0x00000000U | (uint32)0x00000000U) #define ADC1_G2MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000000U) #define ADC1_G0SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) #define ADC1_G1SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) #define ADC1_G2SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) -#define ADC1_BNDCR_CONFIGVALUE ((uint32)((uint32)8U << 16U)|(8U + 8U)) +#define ADC1_BNDCR_CONFIGVALUE ((uint32)((uint32)0U << 16U)|(0U + 1U)) #define ADC1_BNDEND_CONFIGVALUE (2U) -#define ADC1_G0SAMP_CONFIGVALUE (2U) -#define ADC1_G1SAMP_CONFIGVALUE (2U) -#define ADC1_G2SAMP_CONFIGVALUE (2U) +#define ADC1_G0SAMP_CONFIGVALUE (0U) +#define ADC1_G1SAMP_CONFIGVALUE (0U) +#define ADC1_G2SAMP_CONFIGVALUE (0U) #define ADC1_G0SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) #define ADC1_G1SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) Index: firmware/include/sys_vim.h =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/include/sys_vim.h (.../sys_vim.h) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/include/sys_vim.h (.../sys_vim.h) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -94,7 +94,7 @@ extern void rtiCompare1Interrupt(void); extern void rtiCompare3Interrupt(void); extern void linHighLevelInterrupt(void); -extern void adc1Group0Interrupt(void); +extern void adc1Group1Interrupt(void); extern void can1HighLevelInterrupt(void); extern void dmaBTCAInterrupt(void); extern void sciHighLevelInterrupt(void); @@ -144,8 +144,8 @@ | (uint32)((uint32)SYS_IRQ << 11U)\ | (uint32)((uint32)SYS_IRQ << 12U)\ | (uint32)((uint32)SYS_FIQ << 13U)\ - | (uint32)((uint32)SYS_FIQ << 14U)\ - | (uint32)((uint32)SYS_IRQ << 15U)\ + | (uint32)((uint32)SYS_IRQ << 14U)\ + | (uint32)((uint32)SYS_FIQ << 15U)\ | (uint32)((uint32)SYS_FIQ << 16U)\ | (uint32)((uint32)SYS_IRQ << 17U)\ | (uint32)((uint32)SYS_IRQ << 18U)\ @@ -276,8 +276,8 @@ | (uint32)((uint32)0U << 11U)\ | (uint32)((uint32)0U << 12U)\ | (uint32)((uint32)1U << 13U)\ - | (uint32)((uint32)1U << 14U)\ - | (uint32)((uint32)0U << 15U)\ + | (uint32)((uint32)0U << 14U)\ + | (uint32)((uint32)1U << 15U)\ | (uint32)((uint32)1U << 16U)\ | (uint32)((uint32)0U << 17U)\ | (uint32)((uint32)0U << 18U)\ Index: firmware/source/adc.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/source/adc.c (.../adc.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/source/adc.c (.../adc.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -83,10 +83,10 @@ adcREG1->OPMODECR |= 0x80000000U; /** - Setup prescaler */ - adcREG1->CLOCKCR = 9U; + adcREG1->CLOCKCR = 25U; /** - Setup memory boundaries */ - adcREG1->BNDCR = (uint32)((uint32)8U << 16U) | (8U + 8U); + adcREG1->BNDCR = (uint32)((uint32)0U << 16U) | (0U + 1U); adcREG1->BNDEND = (adcREG1->BNDEND & 0xFFFF0000U) | (2U); /** - Setup event group conversion mode @@ -95,8 +95,8 @@ * - Enable/Disable continuous conversion */ adcREG1->GxMODECR[0U] = (uint32)ADC_12_BIT - | (uint32)0x00000020U - | (uint32)0x00000002U; + | (uint32)0x00000000U + | (uint32)0x00000000U; /** - Setup event group hardware trigger * - Setup hardware trigger edge @@ -106,7 +106,7 @@ | (uint32)ADC1_EVENT; /** - Setup event group sample window */ - adcREG1->EVSAMP = 2U; + adcREG1->EVSAMP = 0U; /** - Setup event group sample discharge * - Setup discharge prescaler @@ -121,8 +121,8 @@ * - Enable/Disable continuous conversion */ adcREG1->GxMODECR[1U] = (uint32)ADC_12_BIT + | (uint32)0x00000020U | (uint32)0x00000000U - | (uint32)0x00000000U | (uint32)0x00000000U; /** - Setup group 1 hardware trigger @@ -133,7 +133,7 @@ | (uint32)ADC1_EVENT; /** - Setup group 1 sample window */ - adcREG1->G1SAMP = 2U; + adcREG1->G1SAMP = 0U; /** - Setup group 1 sample discharge * - Setup discharge prescaler @@ -160,7 +160,7 @@ | (uint32)ADC1_EVENT; /** - Setup group 2 sample window */ - adcREG1->G2SAMP = 2U; + adcREG1->G2SAMP = 0U; /** - Setup group 2 sample discharge * - Setup discharge prescaler @@ -224,16 +224,14 @@ 0x00000000U | 0x00000000U | 0x00000000U | - 0x00010000U | - 0x00020000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | - 0x00000000U, 0x00000000U | 0x00000000U | + 0x00000000U, 0x00000000U | 0x00000000U | 0x00000000U | @@ -250,6 +248,8 @@ 0x00000000U | 0x00000000U | 0x00000000U | + 0x00010000U | + 0x00020000U | 0x00000000U | 0x00000000U | 0x00000000U | @@ -333,11 +333,11 @@ /** - s_adcFiFoSize is used as constant table for channel selection */ static const uint32 s_adcFiFoSize[2U][3U] = { + {0U, + 2U, + 32U}, {16U, 16U, - 16U}, - {16U, - 16U, 16U} }; @@ -982,29 +982,31 @@ /* USER CODE BEGIN (35) */ /* USER CODE END */ -/** @fn void adc1Group0Interrupt(void) -* @brief ADC1 Event Group Interrupt Handler + +/* USER CODE BEGIN (38) */ +/* USER CODE END */ +/** @fn void adc1Group1Interrupt(void) +* @brief ADC1 Group 1 Interrupt Handler */ -#pragma CODE_STATE(adc1Group0Interrupt, 32) -#pragma INTERRUPT(adc1Group0Interrupt, FIQ) +#pragma CODE_STATE(adc1Group1Interrupt, 32) +#pragma INTERRUPT(adc1Group1Interrupt, FIQ) -/* SourceId : ADC_SourceId_014 */ +/* SourceId : ADC_SourceId_015 */ /* DesignId : ADC_DesignId_013 */ /* Requirements : HL_SR197, HL_SR196 */ -void adc1Group0Interrupt(void) +void adc1Group1Interrupt(void) { -/* USER CODE BEGIN (36) */ +/* USER CODE BEGIN (39) */ /* USER CODE END */ - adcREG1->GxINTFLG[0U] = 9U; + adcREG1->GxINTFLG[1U] = 9U; - adcNotification(adcREG1, adcGROUP0); + adcNotification(adcREG1, adcGROUP1); -/* USER CODE BEGIN (37) */ +/* USER CODE BEGIN (40) */ /* USER CODE END */ } - Index: firmware/source/sys_main.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/source/sys_main.c (.../sys_main.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/source/sys_main.c (.../sys_main.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -52,6 +52,7 @@ /* USER CODE BEGIN (1) */ #include "system.h" #include "sys_dma.h" +#include "adc.h" #include "can.h" #include "etpwm.h" #include "gio.h" @@ -66,6 +67,7 @@ #include "CommBuffers.h" #include "CPLD.h" #include "FPGA.h" +#include "InternalADC.h" #include "MsgQueues.h" #include "OperationModes.h" #include "SafetyShutdown.h" @@ -125,6 +127,7 @@ static void initProcessor( void ) { gioInit(); // configure GPIO pins + adcInit(); // configure internal ADC channels mibspiInit(); // re-purposing MIBSPI5 I/O/C pins as GPIO etpwmInit(); // configure PWMs canInit(); // CAN1 = CAN, re-purposing CAN2 and CAN3 Rx and Tx pins as GPIO @@ -145,6 +148,7 @@ initTimers(); initSafetyShutdown(); initCPLD(); + initInternalADC(); initBloodFlow(); initAlarmLamp(); initButtons(); Index: firmware/source/sys_vim.c =================================================================== diff -u -r40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3 -rcb5c7321fae3036d7a3641ae49097b4b361270f5 --- firmware/source/sys_vim.c (.../sys_vim.c) (revision 40bcef6aa65af6c93ce937c6c4aa2de13e8a78d3) +++ firmware/source/sys_vim.c (.../sys_vim.c) (revision cb5c7321fae3036d7a3641ae49097b4b361270f5) @@ -83,8 +83,8 @@ &phantomInterrupt, /* Channel 11 */ &phantomInterrupt, /* Channel 12 */ &linHighLevelInterrupt, /* Channel 13 */ - &adc1Group0Interrupt, /* Channel 14 */ - &phantomInterrupt, /* Channel 15 */ + &phantomInterrupt, /* Channel 14 */ + &adc1Group1Interrupt, /* Channel 15 */ &can1HighLevelInterrupt, /* Channel 16 */ &phantomInterrupt, /* Channel 17 */ &phantomInterrupt, /* Channel 18 */ @@ -241,8 +241,8 @@ | (uint32)((uint32)SYS_IRQ << 11U) | (uint32)((uint32)SYS_IRQ << 12U) | (uint32)((uint32)SYS_FIQ << 13U) - | (uint32)((uint32)SYS_FIQ << 14U) - | (uint32)((uint32)SYS_IRQ << 15U) + | (uint32)((uint32)SYS_IRQ << 14U) + | (uint32)((uint32)SYS_FIQ << 15U) | (uint32)((uint32)SYS_FIQ << 16U) | (uint32)((uint32)SYS_IRQ << 17U) | (uint32)((uint32)SYS_IRQ << 18U) @@ -376,8 +376,8 @@ | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 12U) | (uint32)((uint32)1U << 13U) - | (uint32)((uint32)1U << 14U) - | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)1U << 15U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 18U)