Index: firmware/App/Services/FPGA.c =================================================================== diff -u -ra7bf3ca23ea37a61000379facae628a31b3ecc59 -r30fd485858736c08d8bc4fe8bcb94cf1b545492e --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision a7bf3ca23ea37a61000379facae628a31b3ecc59) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision 30fd485858736c08d8bc4fe8bcb94cf1b545492e) @@ -601,21 +601,25 @@ memcpy( &( fpgaWriteCmdBuffer[ FPGA_WRITE_CMD_HDR_LEN ] ), &fpgaActuatorSetPoints, sizeof( FPGA_ACTUATORS_T ) ); crc = crc16( fpgaWriteCmdBuffer, FPGA_WRITE_CMD_HDR_LEN + sizeof( FPGA_ACTUATORS_T ) ); fpgaWriteCmdBuffer[ FPGA_WRITE_CMD_HDR_LEN + sizeof( FPGA_ACTUATORS_T ) ] = GET_MSB_OF_WORD( crc ); - fpgaWriteCmdBuffer[ FPGA_WRITE_CMD_HDR_LEN + sizeof( FPGA_ACTUATORS_T ) + 1 ] = GET_LSB_OF_WORD( crc ); + fpgaWriteCmdBuffer[ FPGA_WRITE_CMD_HDR_LEN + sizeof( FPGA_ACTUATORS_T ) + 1 ] = GET_LSB_OF_WORD( crc ); + // construct bulk read command to read sensor data registers starting at address 8 fpgaReadCmdBuffer[ 0 ] = FPGA_READ_CMD_CODE; fpgaReadCmdBuffer[ 1 ] = GET_LSB_OF_WORD( FPGA_BULK_READ_START_ADDR ); fpgaReadCmdBuffer[ 2 ] = GET_MSB_OF_WORD( FPGA_BULK_READ_START_ADDR ); fpgaReadCmdBuffer[ 3 ] = sizeof(DG_FPGA_SENSORS_T); crc = crc16( fpgaReadCmdBuffer, FPGA_READ_CMD_HDR_LEN ); fpgaReadCmdBuffer[ 4 ] = GET_MSB_OF_WORD( crc ); - fpgaReadCmdBuffer[ 5 ] = GET_LSB_OF_WORD( crc ); + fpgaReadCmdBuffer[ 5 ] = GET_LSB_OF_WORD( crc ); + // prep DMA for sending the bulk write cmd and receiving its response setupDMAForWriteCmd( FPGA_WRITE_CMD_HDR_LEN + sizeof( FPGA_ACTUATORS_T ) + FPGA_CRC_LEN ); - setupDMAForWriteResp( FPGA_WRITE_RSP_HDR_LEN + FPGA_CRC_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( DG_FPGA_SENSORS_T ) + FPGA_CRC_LEN ); + setupDMAForReadResp( FPGA_READ_RSP_HDR_LEN + sizeof( DG_FPGA_SENSORS_T ) + FPGA_CRC_LEN ); + // set fpga comm flags for bulk write cmd and follow-up bulk read command fpgaWriteCommandInProgress = TRUE; fpgaBulkWriteAndReadInProgress = TRUE; @@ -1385,4 +1389,33 @@ U16 getFPGATrimmerColdJunctionTemp ( void ) { return fpgaSensorReadings.fpgaTrimmerHeaterIntJunctionTemp; -} +} + +/************************************************************************* + * @brief + * The getFPGACPiReadCount function gets inlet water conductivity sensor + * read count + * @details + * Inputs : fpgaSensorReadings.fpgaCPiReadCnt + * Outputs : none + * @param none + * @return Last inlet water conductivity sensor read count + *************************************************************************/ +U08 getFPGACPiReadCount ( void ) +{ + return fpgaSensorReadings.fpgaCPiReadCnt; +} + +/************************************************************************* + * @brief + * The getFPGACPi function gets inlet water conductivity value + * @details + * Inputs : fpgaSensorReadings.fpgaCPi + * Outputs : none + * @param none + * @return Last inlet water conductivity value + *************************************************************************/ +U32 getFPGACPi ( void ) +{ + return fpgaSensorReadings.fpgaCPi; +}