CESTER_BODY(static int stopCommand(uint8_t command, uint8_t *cause1, uint8_t *stat1, uint32_t *ackTime, uint8_t *cause2, uint8_t *stat2, uint32_t *completeTime) { uint8_t response[16];*cause1=*stat1=*cause2=*stat2=0xff;*ackTime=*completeTime=0;initializeTime();CDROM_REG0=0;CDROM_REG1=command;uint32_t timeout=1000000;if(!waitCDRomIRQWithTimeout(&timeout)) return 0;*ackTime=timeout;*cause1=ackCDRomCause();readResponse(response);*stat1=response[0];timeout=10000000;if(!waitCDRomIRQWithTimeout(&timeout)) return 0;*completeTime=timeout;*cause2=ackCDRomCause();readResponse(response);*stat2=response[0];return 1;} static uint8_t stopNopStat() { uint8_t response[16];CDROM_REG0=0;CDROM_REG1=CDL_NOP;waitCDRomIRQ();ackCDRomCause();readResponse(response);return response[0];})
Definition cdlstop.c:29
CESTER_TEST(cdlStopStopped, test_instance, int resetDone=resetCDRom();if(!resetDone) { cester_assert_true(resetDone);return;} uint8_t cause1, stat1, cause2, stat2;uint32_t ackTime, completeTime;int setupOk=stopCommand(CDL_STOP, &cause1, &stat1, &ackTime, &cause2, &stat2, &completeTime);if(!setupOk) { cester_assert_true(setupOk);return;} int ok=stopCommand(CDL_STOP, &cause1, &stat1, &ackTime, &cause2, &stat2, &completeTime);ramsyscall_printf("Stop while stopped: ack %i stat %02x in %ius, complete %i stat %02x in %ius\n", cause1, stat1, ackTime, cause2, stat2, completeTime);cester_assert_true(ok);cester_assert_uint_eq(3, cause1);cester_assert_uint_eq(0x00, stat1);cester_assert_uint_eq(2, cause2);cester_assert_uint_eq(0x00, stat2);cester_assert_uint_lt(completeTime, 10000);) CESTER_TEST(cdlStandbyAfterStop