void cDriverSED1520::SED1520Data(unsigned char data, int datacs) { if (useSleepInit) nSleepInit(); switch (datacs) { case 1: port->WriteControl(CDLO | CS1LO | CS2LO | LEDHI); nSleep(450 - timeForPortCmdInNs + 100 * config->adjustTiming); port->WriteData(data); nSleep(650 - timeForPortCmdInNs + 100 * config->adjustTiming); port->WriteControl(CDLO | CS1HI | CS2LO | LEDHI); nSleep(450 - timeForPortCmdInNs + 100 * config->adjustTiming); break; case 2: port->WriteControl(CDLO | CS1LO | CS2LO | LED); nSleep(450 - timeForPortCmdInNs + 100 * config->adjustTiming); port->WriteData(data); nSleep(650 - timeForPortCmdInNs + 100 * config->adjustTiming); port->WriteControl(CDLO | CS1LO | CS2HI | LED); nSleep(450 - timeForPortCmdInNs + 100 * config->adjustTiming); break; } if (useSleepInit) nSleepDeInit(); }
// Pauses for a specified number of milliseconds. void mSleep(unsigned long milliseconds) { // Convert millisecond to nanoseconds unsigned long nseconds = milliseconds * (1000 * 1000); nSleep(nseconds); }
// Pauses for a specified number of microseconds. void uSleep(unsigned long microseconds) { // Convert microseconds to nanoseconds unsigned long nseconds = microseconds * 1000; nSleep(nseconds); }