Files @ 2af6698b0566
Branch filter:

Location: light9/light8/parport.c

drewp
pulled Lightboard out of rsn.py (and fixed all the dependency problems i could find)
pulled Lightboard out of rsn.py (and fixed all the dependency problems i could find)
made some exceptions print better
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <asm/io.h>
#include <fcntl.h>
#include <Python.h>

void getparport() {
    if( ioperm(888,3,1) ) {
      printf("Couldn't get parallel port at 888-890\n");

      // the following doesn't have any effect!
      PyErr_SetString(PyExc_IOError,"Couldn't get parallel port at 888-890");
    } 
}

void outdata(unsigned char val) {
  outb(val,888);
}

void outcontrol( unsigned char val ) {
  outb(val,890);
}

void outbyte( unsigned char val ) {
  // set data, raise clock, lower clock
  outdata(val);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(2);
  outcontrol(3);
}
void outstart() {
  // send start code: pin 14 high, 5ms to let a dmx cycle finish,
  // then pin14 low (pin1 stays low)
  outcontrol(1);
  usleep(5000);
  outcontrol(3);
}