Open source Arduino based Ian FIFO controller project

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Member
Joined 2007
Paid Member
Error Message

Sebastian,

this ist the error message I got when trying to verify Ians DFR0009Demo.

Arduino: 1.6.5 (Windows 7), Board: "Arduino/Genuino Uno"

DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::DFR0009(int)'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::DFR0009(int)'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::getflag()'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::read_LCD_buttons()'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::scan()'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `CIanOS::CIanOS()'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `CIanOS::CIanOS()'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `CIanOS::run()'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `IanOS'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
collect2.exe: error: ld returned 1 exit status
Error compiling.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

So, this is what I got.

Cheers Ernst
 
Hey Ernst,

you don't really 'run' Arduino sketches in the IDE, you edit them in the IDE and then run them on the Arduino.

You can 'compile' within the IDE by clicking the 'check-mark' button (called "Verify") and send to the Arduino via the 'arrow' button ("Upload") right next to it in the upper left corner of the editor window.

Does the sketch compile (verify) without errors?
If not, what errors does the IDE report?

Cheers,
Sebastian.

Thanks Sebastian for your help,

Sebastian,

this ist the error message I got when trying to verify Ians DFR0009Demo.

Arduino: 1.6.5 (Windows 7), Board: "Arduino/Genuino Uno"

DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::DFR0009(int)'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::DFR0009(int)'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::getflag()'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::read_LCD_buttons()'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\DFR0009.cpp.o: In function `DFR0009::DFR0009(int)':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/DFR0009.cpp:26: multiple definition of `DFR0009::scan()'
DFR0009.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/DFR0009.cpp:26: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `CIanOS::CIanOS()'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `CIanOS::CIanOS()'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `CIanOS::run()'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
DFR0009Demo\IanArduinoRTOS.cpp.o: In function `CIanOS::CIanOS()':
C:\Program Files (x86)\Arduino\libraries\DFR0009Demo/IanArduinoRTOS.cpp:29: multiple definition of `IanOS'
IanArduinoRTOS.cpp.o:C:\Users\FRANZI~1\AppData\Local\Temp\build2606014141346345172.tmp/IanArduinoRTOS.cpp:29: first defined here
collect2.exe: error: ld returned 1 exit status
Error compiling.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

So, this is what I got.

Cheers Ernst

Hi Ernst,

From your messages, it seems you have duplicated DFR0009 or IanRTOS libraries in your system.

Please just copy the "DFR0009Demo" folder into any user folder you want, but please don't copy it into Arduino library folder for current stage.

If you have already copied DFR0009 or IanRTOS files into Arduino library folder, you have to delete them all.

Please let me know for new update.

Have good weekend
Ian
 
Member
Joined 2006
Paid Member
Alternative library to look at

Ian,

last year I built a project based on Budgie Preamplifier w/ Arduino.
I won't discuss the audio merits of the preamp here (suffice to say I lost interest in building other preamps for now), but Shannon has a comprehensive library which has very similar functions to yours.
With his permission, I modified his library it to run in embedXcode IDE and published it here: https://github.com/luchoh/budgie-arduino.
His source code for the regular Arduino IDE is included in the original post above.
It uses the nano version and the keys are not on the cap but separate, which in my opinion is more flexible.

I hope this helps.

Lucho
 
Ian,

last year I built a project based on Budgie Preamplifier w/ Arduino.
I won't discuss the audio merits of the preamp here (suffice to say I lost interest in building other preamps for now), but Shannon has a comprehensive library which has very similar functions to yours.
With his permission, I modified his library it to run in embedXcode IDE and published it here: https://github.com/luchoh/budgie-arduino.
His source code for the regular Arduino IDE is included in the original post above.
It uses the nano version and the keys are not on the cap but separate, which in my opinion is more flexible.

I hope this helps.

Lucho

Hi Lucho,

You did wonderful project. Thank you for sharing.

I'll be out of town for next week. I'll post the working FIFO control panel code when I get back.

Regards,
Ian
 
Member
Joined 2006
Paid Member
Hi Ian,

got the demo up and running with SaintSmart LCD Keypad Shield V1.0

Some observations:
- I don't have the notes signs at the botom left and "fifo" text at the bottom right of the display
- pressing RSK key does nothing.

Thanks,
xaled


The reset key DOES do something - it resets/reboots the unit - it's that fast!
If you modify the code slightly, you can have it show you a "resetting..." text when you press it.

The notes sign is not in the demo you can download - I'm sure Ian could send you the modified code.


Lucho
 
arduino

Ed, do you have a link for the Chinese replica's?

Many thanks for any pointers...

NEW ATmega328P CH340G UNO R3 Board & USB Cable for Arduino DIY FL
( 111756995386 )
ITEM PRICE:
US $3.60


new Keypad Shield 1602 LCD For Arduino MEGA 2560 1280 UNO R3 MEGA2560 MEGA1280
( 351462319222 )
ITEM PRICE
US $4.07
A few weeks ago...Ebay

Ed
 
Last edited:
Setp3: First implement of Ian FIFO control panel

There is no any problem if you miss step 1 and step 2. You can jump to step 3 directly to make you own control panel.

You will just need to:

1. Make signal connections

DFR0009 PINS Ian FIFO KIT PINS
D0 ----------JUMPER1 (FIFO II)
D1 ---------- JUMPER2 (FIFO II)
D2 ---------- JUMPER3 (FIFO II)
D3 ---------- K1+ (S/PDIF board)
D11 --------- COX+ (S/PDIF board)
D12 --------- OPT+ (S/PDIF board)
D13 --------- TTL+ (S/PDIF board)

GND --------- JUMPER1GND(FIFO II) or COX-(S/PDIF board)

Please see pictures(find color of wires) or IanFIFO.h for more details

2. Power supply
For sound quality consideration, it would be better powering Arduino from power supply independent from FIFO KIT, such as a USB cable or something else. However it's still OK to share 5V power supply if you have a FIFO isolator.

3. Firmware programming
Please download IanFIFOpanel.zip at the end this post.
Run IanFIFOpanel.ino from folder “IanFIFOpanel” with Arduino IDE


Now, you have a real Arduino based control panel of Ian FIFO KIT
Input sources can be selected by left and right key of the DFRobot LCD Keypad Shield. Status will be shown on the LCD screen.

An an IR remote control will be implemented the next.

Ian


DSC03252C1Pro
by Ian, on Flickr


DSC03259C1Pro
by Ian, on Flickr


DSC03260C1Pro
by Ian, on Flickr
 

Attachments

  • IanFIFOpanel.zip
    10.6 KB · Views: 83
This controller will work with:

1. FIFO II with S/PDIF board
2. FIFO II without S/PDIF board
3. FIFO I with S/PDIF board

Ian

Hello, can you please provide proper connections to FIFO I (J7, I guess)?

Thank you
 

Attachments

  • FIFO I J7.jpg
    FIFO I J7.jpg
    319.5 KB · Views: 300
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.