High Performance WM8741 Upsampling DAC New Version build thread (show 'n tell too)

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
The hifiduino code for our dac was the same as heartwinter sent to us... Doesn't work...

As a test I downloaded the buffalo II code and uploaded it. Works at once (if I had a buffalo dac that is.). It would have been nice of heartwinter wich version of the Arduino IDE he used to get the code to work.

Brgds

Did you try the Arduino compiler 0022 revision? I believe the code was created for this version.

http://arduino.googlecode.com/files/arduino-0022.zip

Do
 
The hifiduino code for our dac was the same as heartwinter sent to us... Doesn't work...

As a test I downloaded the buffalo II code and uploaded it. Works at once (if I had a buffalo dac that is.). It would have been nice of heartwinter wich version of the Arduino IDE he used to get the code to work.

Brgds

This isn't what Heatwinter sent us ? I know several people have used the hifiduino code with the WM8741, if the hardware is the same it has to work. Is the issue that Heatwinter recommended a different display?

Also need to be using the old sony remote.

Or is it that since the Hifiduino code was written the Arduino hardware has changed? :headbash: I'm slowing buying exactly the same hardware the Hifiduino guy used (found the remote on Ebay), IMHO reprogramming code for new hardware is a bit beyond the scope of this project at least for me ;)
 
One peculiar that I do not understand is this one:

LCDi2cW lcd = LCDi2cW(4,20,0x4C,0); // Initialized the library

compare it to:

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // where I use 10, 9, 8 and 7 instead of 5, 4, 3 and 2.

The first one is from the provided lib and the second one is from the new LiquidCrystal lib... What is (4,20,0x4C,0) ?

Brgds

I think you should be able to use the liquidcrystal library.

The (12,11,5,4,3,2) are the Arduino pin numbers that the LCD are connected to. So, if you use 10, 9,8,6,5,4,3,2, than you had better connect the LCD to those pins, or it won't work very well ;).

Here is a code snipet, to show how to connect and define, using pins
2,4,7,8,12 and 13 as shown.
BTW, for the Arduino, these pins have different functions, for example D0 and D1 are the serial interface, so you can't use there pins.

#define RS 2
#define ENABLE 4
#define DB4 7
#define DB5 8
#define DB6 12
#define DB7 13
LiquidCrystal lcd( RS, ENABLE, DB4, DB5, DB6, DB7 );

So, in this example, you would connect the LCD RS signal to D2 of the Arduino, LCD Enable to D4, etc. Note the the LCD D0-D3 pins are not used, only 4 data pins are connected, D4-D7

What is (4,20,0x4C,0)
4 and 20 would be the size of the LCD, its a 4 x 20 LCD. 2x16 is the most common size. Not sure what the last two parameters mean.

Randy
 
Last edited:
I've downloaded and installed the early version (0022 compiler) of Arduino, and I followed the instructions:

"This code requires LCD12cW.h for i2c LCD from Web4robot LCD and macros.h
for defining the large characters. Download library from:
Arduino playground - LCDAPI and select "LCD12cW".
After downloading copy the folder "LCDi2cW" to the "libraries" folder in
the Arduino folder. "macros.h" is inside one of the examples in the examples
folder. Move it out of that folder into the LCDi2cW folder
"

When I compile I still get the following error report:

core.a(main.cpp.o): In function `main':
C:\Arduino_0022\hardware\arduino\cores\arduino/main.cpp:7: undefined reference to `setup'
C:\Arduino_0022\hardware\arduino\cores\arduino/main.cpp:10: undefined reference to `loop'
 
TheGimp - change the name of your toplevel codefolder to something else than the name of the codefile itself. It will at the next time you try to open it tell you that you must have your codefile in a directory and it wants to create it and move the file. Let it do so and the errors will be gone.

Brgds
 
I thought I did that when I loaded Arduino-0022.

I'll strip it out and start over.
...
edit...

Same results.

I moved the code to the root directory which is Arduino-0022.

I executed Arduino.exe.

I opened "Arduino UNO Code.pde" from the Arduino-0022 directory and got the message that it needed to be executed out of it's own named directory. I let it create and move the file. I closed Arduino, restarted it and opened the file from the new directory. When compiled I get the same message.
 
Last edited:
I thought I did that when I loaded Arduino-0022.

I'll strip it out and start over.
...
edit...

Same results.

I moved the code to the root directory which is Arduino-0022.

I executed Arduino.exe.

I opened "Arduino UNO Code.pde" from the Arduino-0022 directory and got the message that it needed to be executed out of it's own named directory. I let it create and move the file. I closed Arduino, restarted it and opened the file from the new directory. When compiled I get the same message.

Strange, I got that error with 1.0 and with help from google got the directions to do what you just did and it worked. Sorry that I can't test it right now, I just downloaded 0022 and are looking for glt's code in some other format than html ;-)

I will probably get the same error as you did.

Brgds
 
It looks like it is squaking about this code:

#include <WProgram.h>

int main(void)
{
init();

setup();

for (;;)
loop();

return 0;
}

In the file - "main.ccp"

in this directory.

However I don't see where it is called from.

Is there the equivalent of a "List File" option with Arduino so I can see what the compiler is doing?
 

Attachments

  • Referenced File.JPG
    Referenced File.JPG
    112.1 KB · Views: 183
I was looking at the code, but I couldn't find LCDi2cW.h anywhere?

The arduino link is broken.

So, I spent a little while messing with it, using LiquidCrystal.h instead, and after making changes for that library, I can compile without any errors.

If you want to use a parallel interface LCD, this is what you would need to do anyway.
I could post somewhere if there is interest?

Oh, and for this code
LCDi2cW lcd = LCDi2cW(4,20,0x4C,0); // Initialized the library

Yes, it is for a serial LCD. Pretty sure 4 is rows, 20 is columns, and 0x4C is probably the I2C address of the LCD controller.

Gimp
Can you take one of the simple example Arduino programs, and compile it OK?
Not sure where the "main.cpp" program you are talking about is, since arduino source files should be .pde
You might try cutting and pasting a simple program into the screen you get when you start arduino, and make sure you can compile ok.

Randy
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.