|
| | CESTER_TEST (cdlSetLoc, test_instances, int resetDone=resetCDRom();if(!resetDone) { cester_assert_true(resetDone);return;} initializeTime();CDROM_REG0=0;CDROM_REG2=0;CDROM_REG2=2;CDROM_REG2=0;CDROM_REG1=CDL_SETLOC;uint32_t ackTime=waitCDRomIRQ();uint8_t cause1=ackCDRomCause();uint8_t ctrl1=CDROM_REG0 &~3;uint8_t response[16];uint8_t responseSize=readResponse(response);uint8_t ctrl2=CDROM_REG0 &~3;CDROM_REG0=1;uint8_t cause1b=CDROM_REG3_UC;cester_assert_uint_eq(3, cause1);cester_assert_uint_eq(0xe0, cause1b);cester_assert_uint_eq(0x38, ctrl1);cester_assert_uint_eq(0x18, ctrl2);cester_assert_uint_eq(2, response[0]);cester_assert_uint_eq(1, responseSize);cester_assert_uint_ge(ackTime, 500);cester_assert_uint_lt(ackTime, 7000);ramsyscall_printf("Basic setloc to 00:02:00, ack in %ius\n", ackTime);) CESTER_TEST(cdlSetLocNoArgs |
| |
| | if (!resetDone) |
| |
| | initializeTime () |
| |
| | cester_assert_uint_eq (5, cause1) |
| |
| | cester_assert_uint_eq (0xe0, cause1b) |
| |
| | cester_assert_uint_eq (0x38, ctrl1) |
| |
| | cester_assert_uint_eq (0x18, ctrl2) |
| |
| | cester_assert_uint_eq (3, response[0]) |
| |
| | cester_assert_uint_eq (0x20, response[1]) |
| |
| | cester_assert_uint_eq (2, responseSize) |
| |
| | cester_assert_uint_ge (errorTime, 500) |
| |
| | cester_assert_uint_lt (errorTime, 7000) |
| |
| | ramsyscall_printf ("Invalid setloc with no args, errored in %ius\n", errorTime) |
| |
| | CESTER_TEST (cdlSetLocMultiple, test_instances, int resetDone=resetCDRom();uint8_t cause;if(!resetDone) { cester_assert_true(resetDone);return;} initializeTime();CDROM_REG0=0;CDROM_REG2=0;CDROM_REG2=2;CDROM_REG2=0;CDROM_REG1=CDL_SETLOC;uint32_t time1=waitCDRomIRQ();cause=ackCDRomCause();CDROM_REG1;if(cause !=3) { cester_assert_uint_eq(3, cause);return;} initializeTime();CDROM_REG0=0;CDROM_REG2=0x99;CDROM_REG2=0x59;CDROM_REG2=0x74;CDROM_REG1=CDL_SETLOC;uint32_t time2=waitCDRomIRQ();cause=ackCDRomCause();CDROM_REG1;if(cause !=3) { cester_assert_uint_eq(3, cause);return;} initializeTime();CDROM_REG0=0;CDROM_REG2=0x50;CDROM_REG2=0;CDROM_REG2=0;CDROM_REG1=CDL_SETLOC;uint32_t time3=waitCDRomIRQ();cause=ackCDRomCause();CDROM_REG1;if(cause !=3) { cester_assert_uint_eq(3, cause);return;} cester_assert_uint_ge(time1, 500);cester_assert_uint_lt(time1, 7000);cester_assert_uint_ge(time2, 500);cester_assert_uint_lt(time2, 7000);cester_assert_uint_ge(time3, 500);cester_assert_uint_lt(time3, 7000);ramsyscall_printf("Multiple setloc to 00:02:00, complete in %ius, %ius, %ius\n", time1, time2, time3);) CESTER_TEST(cdlSetLocInvalid1 |
| |
| | cester_assert_uint_eq (0x10, response[1]) |
| |
| | ramsyscall_printf ("Invalid setloc to 00:02:2a, errored in %ius\n", errorTime) |
| |
| | CESTER_TEST (cdlSetLocInvalid2, test_instances, int resetDone=resetCDRom();if(!resetDone) { cester_assert_true(resetDone);return;} initializeTime();CDROM_REG0=0;CDROM_REG2=0;CDROM_REG2=2;CDROM_REG2=0x79;CDROM_REG1=CDL_SETLOC;uint32_t errorTime=waitCDRomIRQ();uint8_t cause1=ackCDRomCause();uint8_t ctrl1=CDROM_REG0 &~3;uint8_t response[16];uint8_t responseSize=readResponse(response);uint8_t ctrl2=CDROM_REG0 &~3;CDROM_REG0=1;uint8_t cause1b=CDROM_REG3_UC;cester_assert_uint_eq(5, cause1);cester_assert_uint_eq(0xe0, cause1b);cester_assert_uint_eq(0x38, ctrl1);cester_assert_uint_eq(0x18, ctrl2);cester_assert_uint_eq(3, response[0]);cester_assert_uint_eq(0x10, response[1]);cester_assert_uint_eq(2, responseSize);cester_assert_uint_ge(errorTime, 500);cester_assert_uint_lt(errorTime, 7000);ramsyscall_printf("Invalid setloc to 00:02:79, errored in %ius\n", errorTime);) CESTER_TEST(cdlSetLocTooManyArgs |
| |
| | ramsyscall_printf ("Invalid setloc with too many args, errored in %ius\n", errorTime) |
| |