4646#include "eeprom_24xx02.h"
4747#include "i2c_mapping.h"
4848#include "pin_mapping.h"
49+ #include <stdint.h>
4950
5051/* payload states
5152 * 0 - No power
@@ -150,7 +151,7 @@ static void check_fpga_reset( void )
150151 last_state = cur_state ;
151152}
152153
153- uint8_t payload_check_pgood ()
154+ uint8_t payload_check_pgood (uint16_t * adc_readout )
154155{
155156 /* Threshold set to ~8V */
156157 const uint16_t PAYLOAD_THRESHOLD = 0x9B2 ;
@@ -162,6 +163,7 @@ uint8_t payload_check_pgood()
162163 while (Chip_ADC_ReadStatus (LPC_ADC , ADC_CH1 , ADC_DR_DONE_STAT ) != SET ) {}
163164 /* Read ADC value */
164165 Chip_ADC_ReadValue (LPC_ADC , ADC_CH1 , & dataADC );
166+ * adc_readout = dataADC ;
165167
166168 if (dataADC > PAYLOAD_THRESHOLD ){
167169 return 1 ;
@@ -309,6 +311,8 @@ void vTaskPayload( void *pvParameters )
309311 TickType_t xLastWakeTime ;
310312 mmc_err err ;
311313
314+ uint16_t pp_adc_val ;
315+
312316 xLastWakeTime = xTaskGetTickCount ();
313317
314318 for ( ;; ) {
@@ -358,7 +362,7 @@ void vTaskPayload( void *pvParameters )
358362 xEventGroupClearBits (amc_payload_evt , PAYLOAD_MESSAGE_REBOOT | PAYLOAD_MESSAGE_WARM_RST );
359363 }
360364
361- PP_good = payload_check_pgood ();
365+ PP_good = payload_check_pgood (& pp_adc_val );
362366 DCDC_good = gpio_read_pin (PIN_PORT (GPIO_PGOOD_P1V0 ), PIN_NUMBER (GPIO_PGOOD_P1V0 ));
363367
364368 switch (state ) {
@@ -412,6 +416,7 @@ void vTaskPayload( void *pvParameters )
412416 case PAYLOAD_FPGA_ON :
413417 if ( QUIESCED_req == 1 || PP_good == 0 || DCDC_good == 0 ) {
414418 printf ("QUIESCED_req = %d, PP_good = %d, DCDC_good = %d\n" , QUIESCED_req , PP_good , DCDC_good );
419+ printf ("Payload power ADC value %u\n" , pp_adc_val );
415420 new_state = PAYLOAD_SWITCHING_OFF ;
416421 }
417422 break ;
0 commit comments