• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Australia and New Zealand Homebrewers Facebook Group!

    Australia and New Zealand Homebrewers Facebook Group

Matho's controller

Australia & New Zealand Homebrewing Forum

Help Support Australia & New Zealand Homebrewing Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Arduino troubles.
This is my first go at this but this is what I have done.
1) installed Arduino IDE
2) imported OneWire library
3) imported PIDV1 library
4) downloaded sketch from GitHub
5) Opened Sketch in Arduino IDE
6) executed Verify / Compile
At this I have received a number of errors listed below.
The only thing I haven't done was install the driver for the Uno. (I am at work and Uno is at home)
Let me know what I may have missed.

Thanks and sorry for the length of the post.
Jim


brauduino2:28: error: 'OneWire' does not name a type
brauduino2.pde: In function 'void Temperature()':
brauduino2:198: error: 'ds' was not declared in this scope
brauduino2.pde: In function 'void stage_loop(int, float, float)':
brauduino2:525: error: call of overloaded 'write(int)' is ambiguous
C:\Program Files (x86)\Arduino\libraries\LiquidCrystal/LiquidCrystal.h:82: note: candidates are: virtual size_t LiquidCrystal::write(uint8_t)
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Print.h:49: note: size_t Print::write(const char*)
brauduino2.pde: In function 'void manual_mode()':
brauduino2:655: error: call of overloaded 'write(int)' is ambiguous
C:\Program Files (x86)\Arduino\libraries\LiquidCrystal/LiquidCrystal.h:82: note: candidates are: virtual size_t LiquidCrystal::write(uint8_t)
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Print.h:49: note: size_t Print::write(const char*)
brauduino2.pde: In function 'void loop()':
brauduino2:1049: error: call of overloaded 'write(int)' is ambiguous
C:\Program Files (x86)\Arduino\libraries\LiquidCrystal/LiquidCrystal.h:82: note: candidates are: virtual size_t LiquidCrystal::write(uint8_t)
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Print.h:49: note: size_t Print::write(const char*)
brauduino2.ino: At global scope:
brauduino2:28: error: 'OneWire' does not name a type
brauduino2:29: error: redefinition of 'LiquidCrystal lcd'
brauduino2:29: error: 'LiquidCrystal lcd' previously declared here
brauduino2:33: error: redefinition of 'const char Button_up'
brauduino2:33: error: 'const char Button_up' previously defined here
brauduino2:34: error: redefinition of 'const char Button_dn'
brauduino2:34: error: 'const char Button_dn' previously defined here
brauduino2:35: error: redefinition of 'const char Button_prev'
brauduino2:35: error: 'const char Button_prev' previously defined here
brauduino2:36: error: redefinition of 'const char Button_nxt'
brauduino2:36: error: 'const char Button_nxt' previously defined here
brauduino2:40: error: redefinition of 'const int Heat'
brauduino2:40: error: 'const int Heat' previously defined here
brauduino2:41: error: redefinition of 'const int Pump'
brauduino2:41: error: 'const int Pump' previously defined here
brauduino2:42: error: redefinition of 'const int Buzz'
brauduino2:42: error: 'const int Buzz' previously defined here
brauduino2:46: error: redefinition of 'unsigned int WindowSize'
brauduino2:46: error: 'unsigned int WindowSize' previously declared here
brauduino2:48: error: redefinition of 'long unsigned int windowStartTime'
brauduino2:48: error: 'long unsigned int windowStartTime' previously declared here
brauduino2:49: error: redefinition of 'long unsigned int start'
brauduino2:49: error: 'long unsigned int start' previously declared here
brauduino2:51: error: redefinition of 'double Setpoint'
brauduino2:51: error: 'double Setpoint' previously declared here
brauduino2:51: error: redefinition of 'double Input'
brauduino2:51: error: 'double Input' previously declared here
brauduino2:51: error: redefinition of 'double Output'
brauduino2:51: error: 'double Output' previously declared here
brauduino2:51: error: redefinition of 'double eepromKp'
brauduino2:51: error: 'double eepromKp' previously declared here
brauduino2:51: error: redefinition of 'double eepromKi'
brauduino2:51: error: 'double eepromKi' previously declared here
brauduino2:51: error: redefinition of 'double eepromKd'
brauduino2:51: error: 'double eepromKd' previously declared here
brauduino2:53: error: redefinition of 'boolean manualLoop'
brauduino2:53: error: 'boolean manualLoop' previously defined here
brauduino2:54: error: redefinition of 'boolean waterAdd'
brauduino2:54: error: 'boolean waterAdd' previously defined here
brauduino2:55: error: redefinition of 'boolean Conv_start'
brauduino2:55: error: 'boolean Conv_start' previously defined here
brauduino2:56: error: redefinition of 'boolean mpump'
brauduino2:56: error: 'boolean mpump' previously defined here
brauduino2:57: error: redefinition of 'boolean mheat'
brauduino2:57: error: 'boolean mheat' previously defined here
brauduino2:58: error: redefinition of 'boolean wtBtn'
brauduino2:58: error: 'boolean wtBtn' previously defined here
brauduino2:59: error: redefinition of 'boolean autoEnter'
brauduino2:59: error: 'boolean autoEnter' previously defined here
brauduino2:60: error: redefinition of 'boolean tempReached'
brauduino2:60: error: 'boolean tempReached' previously defined here
brauduino2:61: error: redefinition of 'boolean pumpRest'
brauduino2:61: error: 'boolean pumpRest' previously defined here
brauduino2:63: error: redefinition of 'boolean resume'
brauduino2:63: error: 'boolean resume' previously defined here
brauduino2:64: error: redefinition of 'float mset_temp'
brauduino2:64: error: 'float mset_temp' previously defined here
brauduino2:65: error: redefinition of 'float Temp_c'
brauduino2:65: error: 'float Temp_c' previously declared here
brauduino2:65: error: redefinition of 'float stageTemp'
brauduino2:65: error: 'float stageTemp' previously declared here
brauduino2:65: error: redefinition of 'float pumptempError'
brauduino2:65: error: 'float pumptempError' previously declared here
brauduino2:67: error: redefinition of 'int temp'
brauduino2:67: error: 'int temp' previously declared here
brauduino2:68: error: redefinition of 'int x'
brauduino2:68: error: 'int x' previously declared here
brauduino2:69: error: redefinition of 'int stageTime'
brauduino2:69: error: 'int stageTime' previously declared here
brauduino2:69: error: redefinition of 'int hopTime'
brauduino2:69: error: 'int hopTime' previously declared here
brauduino2:71: error: redefinition of 'byte mainMenu'
brauduino2:71: error: 'byte mainMenu' previously defined here
brauduino2:72: error: redefinition of 'byte pumpTime'
brauduino2:72: error: 'byte pumpTime' previously declared here
brauduino2:73: error: redefinition of 'byte data [2]'
brauduino2:73: error: 'byte data [2]' previously declared here
brauduino2:74: error: redefinition of 'byte second'
brauduino2:74: error: 'byte second' previously declared here
brauduino2:77: error: redefinition of 'byte Busy'
brauduino2:77: error: 'byte Busy' previously defined here
brauduino2:78: error: redefinition of 'byte nmbrStgs'
brauduino2:78: error: 'byte nmbrStgs' previously declared here
brauduino2:79: error: redefinition of 'byte nmbrHops'
brauduino2:79: error: 'byte nmbrHops' previously declared here
brauduino2:80: error: redefinition of 'byte tempHAddr'
brauduino2:80: error: 'byte tempHAddr' previously declared here
brauduino2:81: error: redefinition of 'byte tempLAddr'
brauduino2:81: error: 'byte tempLAddr' previously declared here
brauduino2:82: error: redefinition of 'byte timeAddr'
brauduino2:82: error: 'byte timeAddr' previously declared here
brauduino2:83: error: redefinition of 'byte blhpAddr'
brauduino2:83: error: 'byte blhpAddr' previously declared here
brauduino2:84: error: redefinition of 'byte hopAdd'
brauduino2:84: error: 'byte hopAdd' previously declared here
brauduino2:86: error: redefinition of 'char* stgName []'
brauduino2:86: error: 'char* stgName [10]' previously defined here
brauduino2:90: error: redefinition of 'byte degc [8]'
brauduino2:90: error: 'byte degc [8]' previously defined here
brauduino2:104: error: redefinition of 'PID myPID'
brauduino2:104: error: 'PID myPID' previously declared here
brauduino2.ino: In function 'void Buzzer(int)':
brauduino2:110: error: redefinition of 'void Buzzer(int)'
brauduino2:110: error: 'void Buzzer(int)' previously defined here
brauduino2.ino: In function 'void pause_stage()':
brauduino2:123: error: redefinition of 'void pause_stage()'
brauduino2:123: error: 'void pause_stage()' previously defined here
brauduino2.ino: In function 'void display_lcd(int, int, const char*)':
brauduino2:140: error: redefinition of 'void display_lcd(int, int, const char*)'
brauduino2:140: error: 'void display_lcd(int, int, const char*)' previously defined here
brauduino2.ino: In function 'int Button_1sec_press(int)':
brauduino2:152: error: redefinition of 'int Button_1sec_press(int)'
brauduino2:152: error: 'int Button_1sec_press(int)' previously defined here
brauduino2.ino: In function 'int Button_repeat(int)':
brauduino2:171: error: redefinition of 'int Button_repeat(int)'
brauduino2:171: error: 'int Button_repeat(int)' previously defined here
brauduino2.ino: In function 'int Button_hold_press(int)':
brauduino2:183: error: redefinition of 'int Button_hold_press(int)'
brauduino2:183: error: 'int Button_hold_press(int)' previously defined here
brauduino2.ino: In function 'void Temperature()':
brauduino2:197: error: redefinition of 'void Temperature()'
brauduino2:197: error: 'void Temperature()' previously defined here
brauduino2:198: error: 'ds' was not declared in this scope
brauduino2.ino: In function 'void PID_HEAT()':
brauduino2:229: error: redefinition of 'void PID_HEAT()'
brauduino2:229: error: 'void PID_HEAT()' previously defined here
brauduino2.ino: In function 'void load_pid_settings()':
brauduino2:246: error: redefinition of 'void load_pid_settings()'
brauduino2:246: error: 'void load_pid_settings()' previously defined here
brauduino2.ino: In function 'boolean wait_for_confirm(boolean&)':
brauduino2:262: error: redefinition of 'boolean wait_for_confirm(boolean&)'
brauduino2:262: error: 'boolean wait_for_confirm(boolean&)' previously defined here
brauduino2.ino: In function 'float change_temp(float&, int, int)':
brauduino2:284: error: redefinition of 'float change_temp(float&, int, int)'
brauduino2:284: error: 'float change_temp(float&, int, int)' previously defined here
brauduino2.ino: In function 'void quit_mode(boolean&)':
brauduino2:313: error: redefinition of 'void quit_mode(boolean&)'
brauduino2:313: error: 'void quit_mode(boolean&)' previously defined here
brauduino2.ino: In function 'void heat_control()':
brauduino2:328: error: redefinition of 'void heat_control()'
brauduino2:328: error: 'void heat_control()' previously defined here
brauduino2.ino: In function 'void pump_control()':
brauduino2:348: error: redefinition of 'void pump_control()'
brauduino2:348: error: 'void pump_control()' previously defined here
brauduino2.ino: In function 'void prompt_for_water()':
brauduino2:367: error: redefinition of 'void prompt_for_water()'
brauduino2:367: error: 'void prompt_for_water()' previously defined here
brauduino2.ino: In function 'void pump_prime()':
brauduino2:376: error: redefinition of 'void pump_prime()'
brauduino2:376: error: 'void pump_prime()' previously defined here
brauduino2.ino: In function 'void pump_rest(int)':
brauduino2:396: error: redefinition of 'void pump_rest(int)'
brauduino2:396: error: 'void pump_rest(int)' previously defined here
brauduino2.ino: In function 'void check_for_resume()':
brauduino2:419: error: redefinition of 'void check_for_resume()'
brauduino2:419: error: 'void check_for_resume()' previously defined here
brauduino2.ino: In function 'void load_stage_settings()':
brauduino2:439: error: redefinition of 'void load_stage_settings()'
brauduino2:439: error: 'void load_stage_settings()' previously defined here
brauduino2.ino: In function 'void start_time()':
brauduino2:450: error: redefinition of 'void start_time()'
brauduino2:450: error: 'void start_time()' previously defined here
brauduino2.ino: In function 'void stage_timing(int)':
brauduino2:462: error: redefinition of 'void stage_timing(int)'
brauduino2:462: error: 'void stage_timing(int)' previously defined here
brauduino2.ino: In function 'void hop_add()':
brauduino2:483: error: redefinition of 'void hop_add()'
brauduino2:483: error: 'void hop_add()' previously defined here
brauduino2.ino: In function 'void stage_loop(int, float, float)':
brauduino2:503: error: redefinition of 'void stage_loop(int, float, float)'
brauduino2:503: error: 'void stage_loop(int, float, float)' previously defined here
brauduino2.ino: In function 'void get_stage_settings()':
brauduino2:549: error: redefinition of 'void get_stage_settings()'
brauduino2:549: error: 'void get_stage_settings()' previously defined here
brauduino2.ino: In function 'void add_malt()':
brauduino2:567: error: redefinition of 'void add_malt()'
brauduino2:567: error: 'void add_malt()' previously defined here
brauduino2.ino: In function 'void remove_malt()':
brauduino2:588: error: redefinition of 'void remove_malt()'
brauduino2:588: error: 'void remove_malt()' previously defined here
brauduino2.ino: In function 'void get_boil_settings()':
brauduino2:617: error: redefinition of 'void get_boil_settings()'
brauduino2:617: error: 'void get_boil_settings()' previously defined here
brauduino2.ino: In function 'void manual_mode()':
brauduino2:641: error: redefinition of 'void manual_mode()'
brauduino2:636: error: 'void manual_mode()' previously defined here
brauduino2.ino: In function 'void auto_mode()':
brauduino2:673: error: redefinition of 'void auto_mode()'
brauduino2:668: error: 'void auto_mode()' previously defined here
brauduino2.ino: In function 'void save_settings(int, int)':
brauduino2:736: error: redefinition of 'void save_settings(int, int)'
brauduino2:731: error: 'void save_settings(int, int)' previously defined here
brauduino2.ino: In function 'void save_settings(int, byte)':
brauduino2:745: error: redefinition of 'void save_settings(int, byte)'
brauduino2:740: error: 'void save_settings(int, byte)' previously defined here
brauduino2.ino: In function 'int change_set(int&, int, int, int)':
brauduino2:754: error: redefinition of 'int change_set(int&, int, int, int)'
brauduino2:749: error: 'int change_set(int&, int, int, int)' previously defined here
brauduino2.ino: In function 'int change_set(byte&, int, int, int)':
brauduino2:773: error: redefinition of 'int change_set(byte&, int, int, int)'
brauduino2:768: error: 'int change_set(byte&, int, int, int)' previously defined here
brauduino2.ino: In function 'void unit_set()':
brauduino2:794: error: redefinition of 'void unit_set()'
brauduino2:789: error: 'void unit_set()' previously defined here
brauduino2.ino: In function 'void set_stages()':
brauduino2:847: error: redefinition of 'void set_stages()'
brauduino2:842: error: 'void set_stages()' previously defined here
brauduino2.ino: In function 'void set_hops()':
brauduino2:905: error: redefinition of 'void set_hops()'
brauduino2:900: error: 'void set_hops()' previously defined here
brauduino2.ino: In function 'void auto_set()':
brauduino2:948: error: redefinition of 'void auto_set()'
brauduino2:943: error: 'void auto_set()' previously defined here
brauduino2.ino: In function 'void setup_mode()':
brauduino2:957: error: redefinition of 'void setup_mode()'
brauduino2:952: error: 'void setup_mode()' previously defined here
brauduino2.ino: In function 'void setup()':
brauduino2:988: error: redefinition of 'void setup()'
brauduino2:983: error: 'void setup()' previously defined here
brauduino2.ino: In function 'void loop()':
brauduino2:1011: error: redefinition of 'void loop()'
brauduino2:1006: error: 'void loop()' previously defined here
 
easydoesit said:
Arduino troubles.

<snip>

brauduino2:28: error: 'OneWire' does not name a type
brauduino2.pde: In function 'void Temperature()':
brauduino2:198: error: 'ds' was not declared in this scope
The first error indicates that the OneWire library hasn't imported properly. Give it another try and see what happens. You may find that once that is fixed, most or all of the other errors will go away.
 
I just finished writing the code for what will be the last change of ArdBir: the possibility of giving a name (maximum 10 characters) to save the settings of the automation.

The space is pretty much everything, including with regard to the RAM.
For any change to be made is docrà migrate to the upper platform: Arduino Mega.

I also wrote the English translation for all the changes made.

Currently the firmware is to be considered in Beta version, for problems related to the health of my loved ones do not have too much time to make all the necessary checks.
In peossimi days I'll put the link where to find this version.
I hope you can help me to fix errors related to incorrect display on the display of the various written.
 
Thanks for the Great work max and I'm all of us here wish a speed recovery for your loved ones.

MB
 
Hi everyone. I succesfully changed the buzzer sound, now it sounds louder. I don't know if this right way to do it but it works. Here is the code I modified:


//****** start of the functions**************

void Buzzer(int number)
{
for (int i=0; i < number; i++)
{
analogWrite(Buzz,20);
delay (500);
analogWrite(Buzz,0);
delay(100);
}

}
 
arzaman said:
Has anyone compiled and got the latest version running using Pcb_Brauduino_Original.h and LCD16x2_ENG.h
I've been stuffing around with it for the last day & a half & just wondered if anyone is using it successfully Australia. I don't want to post pages of code listings......... yet at least, just curious.
All the libaries have loaded okay.

These are the errors I get at the moment, no doubt they'll change to others when these go away:
-------------------------------------------
In file included from ArdBir.ino:108:0:
Recipe.h: In function ‘void RecipeMenu()’:
Recipe.h:201:20: error: too few arguments to function ‘void Menu_3_4_2(byte)’
Menu_3_4_2();
^
In file included from ArdBir.ino:99:0:
LCD16x2_ITA.h:349:6: note: declared here
void Menu_3_4_2(byte Riga){
^
---------------------------------------------------
 
I tried to compile version 2.6.54 and I have not encountered any errors.
If you want you can try the latest version.
This is a beta version (not fully tested), but it is seen that the final structure of the occupied space does not permit further changes.

Open ArdBir 2.6.61j (Beta)
 
MaxN68 said:
I tried to compile version 2.6.54 and I have not encountered any errors.
If you want you can try the latest version.
This is a beta version (not fully tested), but it is seen that the final structure of the occupied space does not permit further changes.

Open ArdBir 2.6.61j (Beta)
Thanks MaxN68, It compiled and uploaded perfectly. Big Sloppy xoxoxoxo

gallery_5481_1172_56760.jpeg


gallery_5481_1172_3582.jpeg


gallery_5481_1172_282186.png


Cheers :)
 
I see from the photograph that there is a small error on the display after the symbol of Fahrenheit.
I will look to fix this bug, but looks correct other errors reported before upgrading.
 
MaxN68 said:
I see from the photograph that there is a small error on the display after the symbol of Fahrenheit.
I will look to fix this bug, but looks correct other errors reported before upgrading.
I've just put it in my controller and after a couple of minutes flicking through the menus it seems to be working very well. As I'm not an American I've also switched it over to Celsius :) . I'll spend more time with it tomorrow and report back if I find any problems. Great work! Not I just need to get the manual and learn Italian so I can use it properly :lol: . Thanks again.
 
arzaman said:
Also the amazing and powerful Italian branch of the controller from maxN68 is on github

https://github.com/MaxN68it/Open-ArdBir

I'm working to nanual translation in English so you can really understand the great improvement performed

Stay tuned
Davide
How is the translation going mate? I am keen to try this out when you are finished. Looks great.
 
djar007 said:
How is the translation going mate? I am keen to try this out when you are finished. Looks great.
Hi djar007,

I've been told there's a final version of the Italian manual coming out shortly with all the latest updates to ArdBir, closely followed by an English first draft version using Italian pictures.
 
The work on the translation of the manual is going on.
We have translated all the text and made ​​a first correction, we have to finish only a few images 20x4 before publishing it.
 
Got them thanks.

There only seem to be the user manual and the code, are there any build instructions? That is instructions - connect wire to X. And so on?

Atb....... Aamcle
 
aamcle said:
Got them thanks.

There only seem to be the user manual and the code, are there any build instructions? That is instructions - connect wire to X. And so on?

Atb....... Aamcle
It's all based on the "Original Braudino Board" build 2 sided board and later adapted for the one sided versions others have developed since. You can choose whatever version of the board you've built in the sketch and set it by removing the // in front of the include code.

// Supported PCB
//#include "Pcb_Brauduino_DanielXan.h"
#include "Pcb_Brauduino_Original.h"

You do the same to select the language and also select between if you have chosen to build your controller with a 2 or 4 row LCD.


// SETTING LCD*****
// Select your LCD

// LANGUAGE ITA
//#include "LCD16x2_ITA.h"
//#include "LCD20x4_ITA.h"

// LANGUAGE ENG
#include "LCD16x2_ENG.h"
//#include "LCD20x4_ENG.h"


The program adds extra features like storing up to 10 recipes you want to keep on the controller just to name one.

A few people experiencing EMI might be interested in the following. I've had trouble with EMI scrambling my screen when the controller started priming the pump, so I asked Max the following:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Max, I prime my 'March Pump' manually and don't need the 'Prime Pump' feature on my controller. The main reason is because the EMI produced always scrambles my LCD Screen. What code should I block out too remove it?

My screen works fine for the rest of the time when I unplug & resume the cycle.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Max answered:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The "Pump Prime" Function is called by pump_prime(); in VOID auto_mode.
Is just one line, in Manual Mode the Pump Prime is not present.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On my Auduino IDE its at line 1040 in this section of code, just // the pump_prime() like I have. I haven't had an issue with EMI since blocking it.
--------------------------------------------------------------------------------------
Menu_2();

if(!(resume)){ // if starting a new process prompt for water
prompt_for_water();
wait_for_confirm(b_Enter,0,2);

Menu_2();//pulisce lo schermo

if(!(b_Enter))return;
hopAdd =0; //reset hop count at teh start of the processes
EEPROM.write(85,hopAdd);
pumpTime =0;
pumpRest =false;
// pump_prime();
x = 0;
}
-----------------------------------------------------------------------------------------------

So basically ArdBir is updated code that can be tweaked easily to work on the various boards based on the original "Braudino" by Matho. If you've built one of them you'll be able to load the sketch code onto it and gain the extra features.

Cheers
 
MaxN68 said:
We finally finished writing the manual in English including all images.
Probably our translation will not be 100% perfect but I hope someone can help us improve it.
ArdBir Manual
Max, thanks for your work.

Page 3: "Exist form CONFIGURATION menu" == exits from?
 
MaxN68 said:
Thanks.
I've just correct and updated the file
1. Max, I'm sorry - but the word "exists" happens 2 times more in the document.

2. Page 7 - names of phases are in Italian while English LCDs type them in English.

3. I'm trying to translate the document into Russian if you don't mind. A small problem is that most LCDs don't support cyrillic - so I'm going to leave English menu for now.

4. Concerning recipes. As there are tons of them and Arduino is bad for surfing - maybe it is good to add SD card, create a txt/xml file renewed by community and load recipes from it?

5. Small note just FYI. We use Arduino Pro Mini, and its max sketch size is 30720 bytes (not like 32256 for UNO) - so we have to remove recipes support to compile successfully. And if to add support of SD card and external recipes - we will really need to switch HW to Mega.
 
Reply to 1-2
Thanks for the recommendations to improve the writing of this manual.
I'm providing for the correction of errors, but also to improve the translation of ArdBir.
As suggested by Arnie the menu "Manage Settings" will be changed to "Manage Recipes."
Again in the menu Manage Recipes I've added a couple of functions in the process of entering the name of the recipe:
1) START button allows you to go back one character to correct
(This feature is already present but not indicated in the manual)
2) UP + DOWN finish entering the name automatically adding the missing spaces to complete the length of the name.

In addition to these changes I also fixed the break with confirmation " iodine test" retaining only volumes one.

As soon as I finished the corrections let you know the update of the manual and firmware


Reply to 4

We are currently occupying 99% of the resources Arduino.
I tried to load the SD library to manage the recipes but the space required is far beyond the 32K without a single line of code to handle then the recipes.


Reply to 5
If you want to try to free space, you can remove the sprite initial and the credits

The ArdBir sprite at start i called by ArdBir() in line 1636
The Credits are called by
if (btn_Press(Button_dn,50))setupMenu = 4; in line
and the entire section that goes from row 1592 to row 1597


case(4):
Menu_3_5();
if (btn_Press(Button_start,50))setupLoop=false;
if (btn_Press(Button_up,50))setupMenu = 3;
if (btn_Press(Button_enter,50))Credits();
break;

This solution frees 1000bytes

In addition to this I have noticed a considerable difference if you compile with different operating systems.




I tried to compile with Lubuntu and I got these results

Lubuntu vs Windows XP = 852bytes
OSX Windows XP vx = 48bytes


Trying to compile as I've explained this result: 29.806!!!
 
PreTest New PCB OpenArdBir O.C Ok
I am attaching files engraving PCBs and high-definition picture
so are of no help to mount

IMG_20140428_235234.jpg


IMG_20140428_235248.jpg

https://lh3.googleusercontent.com/-3Rf3W8P_sY4/U1ZQIUiq7yI/AAAAAAAAYKM/9dpFSiiAk00/w906-h504-no/ComponentiOpenArdBir.jpg

Donwload PCB Files

www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpnArdBirOC.rar

Foto Hi Def 36Mp over 20Mb

www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_ResistenzeDiodi.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_StreepLine.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_StreepLCD_LatoRame.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_InsiemeCompo.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_InsiemeCompo_2.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_InsiemeCompoRame.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_Montato.jpg
www.saviot.com/BrassaturaCasalinga/PcbBirraDefinitivi/OpenArdBirOC_Montato2.jpg

Def
Code:
// sensor and lcd
OneWire ds(7);
LiquidCrystal lcd(A4, A5, 2, 3, 4, 5);

// push buttons
const char Button_dn    = A3;
const char Button_up    = A2;
const char Button_enter = A1;
const char Button_start = A0;

// outputs
const byte Pump = 6;
const byte Buzz = 8;
const byte Heat = 9;
 
MaxN68 said:
Reply to 1-2
Thanks for the recommendations to improve the writing of this manual.
I'm providing for the correction of errors, but also to improve the translation of ArdBir.
As suggested by Arnie the menu "Manage Settings" will be changed to "Manage Recipes."
Again in the menu Manage Recipes I've added a couple of functions in the process of entering the name of the recipe:
1) START button allows you to go back one character to correct
(This feature is already present but not indicated in the manual)
2) UP + DOWN finish entering the name automatically adding the missing spaces to complete the length of the name.

In addition to these changes I also fixed the break with confirmation " iodine test" retaining only volumes one.

As soon as I finished the corrections let you know the update of the manual and firmware


Reply to 4

We are currently occupying 99% of the resources Arduino.
I tried to load the SD library to manage the recipes but the space required is far beyond the 32K without a single line of code to handle then the recipes.


Reply to 5
If you want to try to free space, you can remove the sprite initial and the credits

The ArdBir sprite at start i called by ArdBir() in line 1636
The Credits are called by
if (btn_Press(Button_dn,50))setupMenu = 4; in line
and the entire section that goes from row 1592 to row 1597


case(4):
Menu_3_5();
if (btn_Press(Button_start,50))setupLoop=false;
if (btn_Press(Button_up,50))setupMenu = 3;
if (btn_Press(Button_enter,50))Credits();
break;

This solution frees 1000bytes

In addition to this I have noticed a considerable difference if you compile with different operating systems.




I tried to compile with Lubuntu and I got these results

Lubuntu vs Windows XP = 852bytes
OSX Windows XP vx = 48bytes


Trying to compile as I've explained this result: 29.806!!!
I did almost exactly this on monday to get the shield to upload to my arduino.
 
seem to get the following error when trying to update


avrdude: verification error, first mismatch at byte 0x7800
0xe1 != 0xff
avrdude: verification error; content mismatch

any ideas?

cheers tate
 
Avr is a collection of utility.
I don't have never used this for loading code in Arduino, is the first time I read of such the problem
I use Arduino IDE and don't have any problem
 
Back
Top