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.
Yes, thank you Do and glt. I have the parallel display which won't do with the code as is. The simple solution would be to get the serial display but it would be more fun to rewrite the code for the parallel one.

Brgds

Rewrite for "standard" parallel LCD is easy. Look at the code for Buffalo. It is well commented and copy those parts.
 
Yes, I did that and after messing with it and commenting away parts I came up with this... Many parts still needs to get fixed so questions will be asked ;-)

Thanks a lot & Bgrds

One question is of course which pins to use for connecting to the DAC? A4-A5? Its probably in your blog glt so I'll have a look for it.
 

Attachments

  • Arduino_Par_LCD.jpg
    Arduino_Par_LCD.jpg
    513 KB · Views: 177
  • Test.zip
    6.7 KB · Views: 37
Last edited:
I was looking at the code

The arduino link is broken.
...snip...

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

Randy,

I found the same problem in locating LCDi2cW.h but was able to load it from the zip heartwinter linked..

I loaded "Blink.pde" compiled, downloaded and it ran fine.

I also loaded "BareMinimum.pde" compiled, downloaded and it ran fine also. (It wiped out Blink but did nothing else).

The file I was referencing has it's full path shown in the attached screen shot in my post above yours (Post 179).

Today I deleted all of the Arduino files from my C drive. I then extracted them from the zip files on my G (removable) drive.\

Previously I had copied the files zip to C and then extracted them.

I got the same results.

In looking at the Arduino UNO Code.txt file I found it is missing the first "/*"

I'm wondering if it is corrupt, so I'll go back through the posts to find it and download it again.

Hopefully this time it will work.
 
Last edited:
OK, start from scratch.

1) Install Arduino-0022
2) unzip heartwinter linked LCDi2cW.zip and move the directory to the library directory.
3)LCDi2cW contains macros.h so I don't need to copy it from another directory.
4)copy and paste the program from HIFIDUINO 0.7 into a text file and change the extension to .pde from .txt
5) execute arduino-0022
6) open file Hifiduino_code.pde - get error message to create folder, allow, close arduino-0022 and restart arduino-0022, open file successfully.
7)compile

Now I get a different set of errors:

In file included from Hifiduino_Code.cpp:43:
C:\arduino-0022\libraries\LCDi2cW/LCDi2cW.h:24: error: conflicting return type specified for 'virtual size_t LCDi2cW::write(uint8_t)'
C:\arduino-0022\hardware\arduino\cores\arduino/Print.h:40: error: overriding 'virtual void Print::write(uint8_t)'

Am I using the right code?

Proper libraries?
 
For my part I do not understand howto get the printOneNumber() to work.

I tried this (copying the 1'es from printTwoNumber())...

void printOneNumber(byte value, byte number)
{
// Print position is hardcoded
int digit0; // To represent the ones
digit0=number%10;
// Line 1 of the one digit number
lcd.setCursor(value,1);
lcd.write(bn1[(number%10)*3]);
lcd.write(bn1[(number%10)*3+1]);
lcd.write(bn1[(number%10)*3+2]);
// Line 2 of the one-digit number
lcd.setCursor(value,2);
lcd.write(bn2[(number%10)*3]);
lcd.write(bn2[(number%10)*3+1]);
lcd.write(bn2[(number%10)*3+2]);
// Line 3 of the one-digit number
lcd.setCursor(value,3);
lcd.write(bn3[(number%10)*3]);
lcd.write(bn3[(number%10)*3+1]);
lcd.write(bn3[(number%10)*3+2]);
}

Another issue is the loop()...

Shouldn't it be rolling all the time? I implemented the heartbeat from the buffalocode and it only prints the first character.

But then again I don't have the remote or the encoder in place yet...

Brgds
 
Last edited:
If I read the error correctly it is saying that line 24 of LCDi2cW.h is in conflict with line 40 of Print.h. and the problem is a type conflict.

line 24 of LCDi2cW.h is:

virtual size_t write(uint8_t);


line 40 of print.h is:


virtual void write(uint8_t) = 0;

Is 'size_t' the conflicting type definition?

I was typing while you were.

"Hifiduino_Code.cpp:43"??

Hifiduino_Code.pde is the source, so is the *.cpp the compiled code?

line 43 of the source is:
#include <LCDi2cW.h>
 
Last edited:
So, I made a few changes, and I compiled the code that heartwinter sent out, using the LCDi2cW lib

There is a missing /* start of comment at the very beginning

I changed the custom char definitions to all look like this:
uint8_t cc1[8] = { // Custom Character 1
B11100,
B11110,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};

There was one instance where it said "writereg" instead of "miniwritereg", so just add mini to it.

I commented out the include macros.h line, since I don't have that file.

Not sure if it would work, but it compiles.

Randy
 
See post 184, step 3!\

macros.h should not be in the LCDi2cW directory. If it is, then one is using the wrong version of LCDi2cW.

I rebuilt again, this time I found I had to copy macros.h from the directory path:

...\arduino-0022\libraries\LCDi2cW\examples\Dales_Space_Invaders_Custom_Character_Sample\macros.h

to the LCDi2cW directory.

The code now compiles without errors.
 
The issue that got me is that there are several versions of the LCDi2cW .zip floating around.

There are gross differences between them and only one will work with Arduino-0022.

I used the Arduino-0022 code from:

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

this LCDi2cW file (I've moved macros.h to the LCDi2cW directory).

and this main code from HiDuFino which I added a note to stating it does not work with 1.0 but does with -0022.
 

Attachments

  • LCDi2cW.zip
    18.5 KB · Views: 42
  • HiFiDuino_Code0.7a.txt
    22.7 KB · Views: 70
So far...

Board is ready and functioning.
Arduino and LCD are functioning.
The code is now almost ported to arduino 1.0 and new LiquidCrystal lib. I haven't tested the contrast or brightness stuff yet nor the volume or anything that needs the rotatonal encoder or the remote. I have of course tested the default volume setting and it changes volume (but it's of course a PIA to compile for evert volumechange needed ;-) ) The code looks as it will work without any major tweaks needed.

Are the codes for the serial and parallel settings the same for brightness and contrast (should be...)? I couln't find these in the buffalocode or I missed them...

So, tomorrow is the day to hunt down one Apple remote and rotational encoder. Updates are coming and when done the code if not someone is eager and needs it right away. Just tell and I'll upload what I have.

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