FreeCalypso > hg > freecalypso-hwlab
annotate lcdtest/busops.c @ 22:e9df47110181
lcdtest: added ability to specify chdir on the command line
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 14 Apr 2018 06:15:24 +0000 | 
| parents | 5a602e512b12 | 
| children | 4b7cac119fb5 | 
| rev | line source | 
|---|---|
| 12 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 #include <sys/types.h> | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 #include <stdio.h> | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 #include <stdlib.h> | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 #include <unistd.h> | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 #include <ftdi.h> | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 extern struct ftdi_context ftdi; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 do_ftdi_write(cmd, cmdlen) | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 u_char *cmd; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 { | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 if (ftdi_write_data(&ftdi, cmd, cmdlen) != cmdlen) { | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 fprintf(stderr, "FTDI write error: %s\n", ftdi.error_str); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 exit(1); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 } | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 } | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 set_gpio_pins(rs, reset) | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 { | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 u_char cmd[3]; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 cmd[0] = 0x82; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 cmd[1] = (rs ? 1 : 0) | (reset ? 2 : 0); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 cmd[2] = 0x03; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 do_ftdi_write(cmd, 3); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 } | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 reset_pulse() | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 { | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 set_gpio_pins(0, 0); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 usleep(50000); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 set_gpio_pins(0, 1); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 return(0); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 } | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 write_ir(val16) | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 unsigned val16; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 { | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 u_char cmd[9]; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 /* set RS low */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 cmd[0] = 0x82; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 cmd[1] = 0x02; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 cmd[2] = 0x03; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 /* write upper byte */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 cmd[3] = 0x92; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 cmd[4] = 0; /* dummy addr */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 cmd[5] = val16 >> 8; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 /* write lower byte */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 cmd[6] = 0x92; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 cmd[7] = 0; /* dummy addr */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 cmd[8] = val16; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 do_ftdi_write(cmd, 9); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 } | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 write_dr(val16) | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 unsigned val16; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 { | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 u_char cmd[9]; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 /* set RS high */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 cmd[0] = 0x82; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 cmd[1] = 0x03; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 cmd[2] = 0x03; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 /* write upper byte */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 cmd[3] = 0x92; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 cmd[4] = 0; /* dummy addr */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 cmd[5] = val16 >> 8; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 /* write lower byte */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 cmd[6] = 0x92; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 cmd[7] = 0; /* dummy addr */ | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 cmd[8] = val16; | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 do_ftdi_write(cmd, 9); | 
| 
5eaf832d57d0
lcdtest program started, skeleton compiles
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 } | 
