sudo lircd -dserial=DN01DR29,output=3 -Hftdix
We gave lircd 3 parameters:
- “DN01DR29” is the serial number of my FTDI adapter reported by dmesg
- “output=3″ is the CTS pin we use to control the LED (in the ‘hello-ftdi.c” test we see LED defined as 0x08, that’s because LIRC ftdix drivers calculates the pin by left-shifting, so 2<<3 = 2³ = 8)
- “ftdix” is the driver to use
We should check if lircd is running. In Ubuntu it writes several messages at “/var/log/messages” but this log doesn’t exist in ev3dev so
pgrep lircd 5411
E also see in dmesg that the ttyUSB device was disconnected by libftdi:
[47897.512814] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [47897.513393] ftdi_sio 1-1.2:1.0: device disconnected
We now use ‘irsend’ to check for available transmitter:
sudo irsend -d/var/run/lirc/lircd LIST "" "" LEGO_Combo_Direct LEGO_Combo_PWM LEGO_Single_Output
We can also list all commands avaible for a particular transmitter:
sudo irsend -d/var/run/lirc/lircd LIST LEGO_Combo_Direct "" 000000000000010e FLOAT_FLOAT 000000000000011f FLOAT_FORWARD 000000000000012c FLOAT_BACKWARD 000000000000013d FLOAT_BRAKE 000000000000014a FORWARD_FLOAT 000000000000015b FORWARD_FORWARD 0000000000000168 FORWARD_BACKWARD 0000000000000179 FORWARD_BRAKE 0000000000000186 BACKWARD_FLOAT 0000000000000197 BACKWARD_FORWARD 00000000000001a4 BACKWARD_BACKWARD 00000000000001b5 BACKWARD_BRAKE 00000000000001c2 BRAKE_FLOAT 00000000000001d3 BRAKE_FORWARD 00000000000001e0 BRAKE_BACKWARD 00000000000001f1 BRAKE_BRAKE
For first test we’ll just use “FORWARD_FORWARD” command (move both motors, “Red” and “Blue”, forward):
sudo irsend -d /var/run/lirc/lircd SEND_ONCE LEGO_Combo_Direct FORWARD_FORWARD
And our motor do spin!
So, after such a big post, whats the point?
Well, since LIRC can handle several transmitter and for ftdix it uses the serial number of the FTDI adapter to identify each transmitter… we can have as much transmitters as we want as long as our system can handle it. On a laptop or a Raspberry Pi 3 that’s probably 127 (the max number of USB devices we can have). Most probably the Ev3 will gasp will all that USB devices but at least two I know it can handle:
Will show how in a fourth post, later on.