An RC5 decoder and preamp controller. Written on the LPC11U24, Ported to LPC1114 and now 100% stable (January 2016)

Dependents:   AppleRemoteController_copy_Production_Version AppleRemoteController_Reference_Only

Committer:
andrewcrussell
Date:
Mon Nov 16 17:11:20 2015 +0000
Revision:
1:bb881a434906
Parent:
0:83d4a20e7bc7
Child:
2:674e2dd56e7d
RC5 Infra Red  decoder/controller written for the LPC1114. Can also be used with the LPC11U24 by changing the pinout.h file.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewcrussell 0:83d4a20e7bc7 1 /************************************ Pinfef1114.h *******************************/
andrewcrussell 0:83d4a20e7bc7 2
andrewcrussell 1:bb881a434906 3 DigitalOut FWD1(dp1); // these are the motor 'H' bridge drive signals
andrewcrussell 1:bb881a434906 4 DigitalOut REV1(dp2); // when the volume controll motor is not being driven
andrewcrussell 1:bb881a434906 5 //DigitalOut REV1(p11); // they are all OFF
andrewcrussell 0:83d4a20e7bc7 6 //DigitalOut REV2(p13);
andrewcrussell 0:83d4a20e7bc7 7
andrewcrussell 1:bb881a434906 8 DigitalOut muteout(dp11); // drives the mute relay via a mosfet or transistor
andrewcrussell 1:bb881a434906 9 DigitalOut muteind(dp18); // drives the mute relay via a mosfet or transistor
andrewcrussell 1:bb881a434906 10 InterruptIn mute_int(dp13); // mute p/button interrupt
andrewcrussell 1:bb881a434906 11 DigitalIn mute(p13); // mute input from associated pushbutton
andrewcrussell 0:83d4a20e7bc7 12
andrewcrussell 1:bb881a434906 13
andrewcrussell 1:bb881a434906 14 InterruptIn rc5int(dp15); // this is the R/C interrupt triggered by the IRx data out
andrewcrussell 1:bb881a434906 15 DigitalIn rc5dat(p10); // data is read in from here - its coming from the IRx data out
andrewcrussell 1:bb881a434906 16
andrewcrussell 0:83d4a20e7bc7 17
andrewcrussell 0:83d4a20e7bc7 18 InterruptIn select_int(dp28); // select rotary encoder interrupt - we use the 'A' O/P to generate the interrupt
andrewcrussell 0:83d4a20e7bc7 19 DigitalIn sela(dp28); // select input rotary enc input A
andrewcrussell 0:83d4a20e7bc7 20 DigitalIn selb(dp27); // select input rotary enc input B
andrewcrussell 0:83d4a20e7bc7 21
andrewcrussell 1:bb881a434906 22
andrewcrussell 0:83d4a20e7bc7 23 DigitalIn stdby(dp26); // standby function p/button input
andrewcrussell 0:83d4a20e7bc7 24 InterruptIn stdby_int(dp26); // standby p/button interrupt in
andrewcrussell 0:83d4a20e7bc7 25
andrewcrussell 1:bb881a434906 26
andrewcrussell 1:bb881a434906 27
andrewcrussell 1:bb881a434906 28 InterruptIn recloop_int(dp14); //record loop interrupt
andrewcrussell 1:bb881a434906 29 DigitalIn recloop_in(dp14); // record loop p/button input
andrewcrussell 1:bb881a434906 30 DigitalOut recloop_out(dp10); // drives record loop relay via mosfet or transistor
andrewcrussell 0:83d4a20e7bc7 31
andrewcrussell 1:bb881a434906 32
andrewcrussell 0:83d4a20e7bc7 33
andrewcrussell 1:bb881a434906 34 //DigitalOut power_ind(dp25); // this pin drives the standby controller - LOW = OFF; use regulators with standby inpu
andrewcrussell 1:bb881a434906 35
andrewcrussell 1:bb881a434906 36 BusOut select_drv(dp17,dp4, dp25, dp6, dp9, dp10); //these are the select relay drivers
andrewcrussell 0:83d4a20e7bc7 37 // note that we do not explicitly define the input select output ports because we just move the active
andrewcrussell 0:83d4a20e7bc7 38 // output port bit around in a continuos loop with each depress of the select button. Drive the associated
andrewcrussell 0:83d4a20e7bc7 39 // input relays via a mosfet or transistor
andrewcrussell 0:83d4a20e7bc7 40
andrewcrussell 0:83d4a20e7bc7 41 // DigitalOut myled(LED1); // for test purposes only - on the mbed module - comment out when not used
andrewcrussell 0:83d4a20e7bc7 42 // DigitalOut myled2(LED2);
andrewcrussell 1:bb881a434906 43 // DigitalOut sync(p29); //this is a sync pin that is toggled during IR read - used for debug only
andrewcrussell 1:bb881a434906 44
andrewcrussell 1:bb881a434906 45
andrewcrussell 1:bb881a434906 46
andrewcrussell 1:bb881a434906 47
andrewcrussell 1:bb881a434906 48