diff --git a/MAC/APL/PIC/RSPDriver/src/rspctl.cc b/MAC/APL/PIC/RSPDriver/src/rspctl.cc index 08bb52370f8e8bd07b7394889ab1d9554d7c8d40..caea640897b3a2178fc301ed8f9a9a637d17d1ea 100644 --- a/MAC/APL/PIC/RSPDriver/src/rspctl.cc +++ b/MAC/APL/PIC/RSPDriver/src/rspctl.cc @@ -798,19 +798,48 @@ GCFEvent::TResult StatusCommand::ack(GCFEvent& event) board.diag.serdes_errors, board.diag.ap0_ri_errors, board.diag.ap1_ri_errors, board.diag.ap2_ri_errors, board.diag.ap3_ri_errors)); - logMessage(cout,formatString("Sync diff count samples slices")); + logMessage(cout,formatString("Sync diff count samples slices")); for (int blp = 0; blp < 4; blp++) { BSStatus* bs= &(board.ap0_sync)+blp; - logMessage(cout,formatString("%d: %9ld %9ld %9ld %9ld", - blp, bs->ext_count, bs->sync_count, - bs->sample_offset, bs->slice_count)); + logMessage(cout,formatString(" %d: %10lu %10lu %10lu %10lu", + blp, bs->ext_count, bs->sync_count, + bs->sample_offset, bs->slice_count)); } - logMessage(cout,formatString("Status pllX pllY overflowX overflowY")); + logMessage(cout,formatString("RCUStatus pllX pllY overflowX overflowY")); for (int ap = 0; ap < 4; ap++) { RCUStatus* as= &(board.blp0_rcu)+ap; - logMessage(cout,formatString("%d: %9ld %9ld %9ld %9ld", - ap, as->pllx, as->plly, - as->nof_overflowx, as->nof_overflowy)); + logMessage(cout,formatString(" %d: %10ld %10ld %10ld %10ld", + ap, as->pllx, as->plly, + as->nof_overflowx, as->nof_overflowy)); + } + + const char* trig[] = { + "Board Reset", // 0x0 + "User reconfiguration request", // 0x1 + "User reset request", // 0x2 + "Invalid index", // 0x3 + "Watchdog timer timeout" // 0x4 + }; + + logMessage(cout, formatString("RSU Status:")); + logMessage(cout, formatString(" Trigger: %s", + (board.cp_status.trig <= 0x4 ? trig[board.cp_status.trig] : "Invalid"))); + logMessage(cout, formatString(" Image : %s", + (board.cp_status.im ? "Application image" : "Factory image"))); + logMessage(cout, formatString(" FPGA : %s", + (board.cp_status.fpga ? "AP was reconfigured" : "BP was reconfigured"))); + logMessage(cout, formatString(" Result : %s", + (board.cp_status.fpga ? "ERROR" : "OK"))); + logMessage(cout, formatString(" Status : %s", + (board.cp_status.rdy ? "DONE" : "IN PROGRESS"))); + + logMessage(cout, formatString("ADO Status adc_offset_x adc_offset_y (in bits)")); + for (int ap = 0; ap < 4; ap++) { + ADOStatus* as= &(board.blp0_adc_offset)+ap; + BSStatus* bs= &(board.ap0_sync)+ap; + logMessage(cout, formatString(" %d: %10lu %10lu", ap, + as->adc_offset_x / bs->slice_count / 4, + as->adc_offset_y / bs->slice_count / 4)); } } break;