-->
Page 1 of 3

OpenSprinkler ported to ESP8266

PostPosted: Tue Mar 22, 2016 11:49 am
by pbecchi
The well known Sprinkler Control Code that run on Arduinos and other platforms has been ported to ESP8266 12E.

The beta code is available on github.com/pbecchi/OpenESP8266Sprinkler.

Anybody interested his welcome to partecipate to debugging of the code!

Re: OpenSprinkler ported to ESP8266

PostPosted: Wed Mar 23, 2016 12:35 am
by alextu
Oh man, i was waiting on someone to do this. Thank you.

And right before we need to start watering :D

Tell me, do you think changes to this will make it upstream? If we change/contribute, what do we need to take into account/preserve? For instance, the ethernet class could do with a bit of refactor, it is no longer relevant to jsut that module..

If we add another library for making wifi connecting easier on the esp, would that be welcomed?

Really, really excited
Cheers

Re: OpenSprinkler ported to ESP8266

PostPosted: Wed Mar 23, 2016 2:02 am
by pbecchi
if you are will to help..... there are many way you can do:

-some library I used (PCF8574) is not compatible with ESP8266 and need corrections.
-part of the code that run in an external server and is in Pyton should move to the ESP8266
-the 16x2 lcd and 3 button input are a very old and uneasy user interface:it will be nice to have a touchscreen

Keep in mind that I want to preserve backward compatibility and being multiplatform.

Thanks

Re: OpenSprinkler ported to ESP8266

PostPosted: Wed Mar 23, 2016 2:06 am
by alextu
well, i gave it a shot, and failed miserably
using arduino ide, no go,also very messy, but don t have another option currently
i have moved all files in the OpenSprinkler_Arduino_W5100 folder
i have removed all '../' from paths
i have downloaded the indicated libraries with the following mentions:
TimeLib works from arduino ide lib manager
DS1307RTC does not work from arduino ide lib manager, only the latest comit works with the above TimeLib
LiquidCrystal_I2C ... i could not get working, still throwing compile errors like
```
penSprinkler.cpp:107: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'
LiquidCrystal_I2C OpenSprinkler::lcd(LCD_ADDR, PIN_LCD_EN, PIN_LCD_RW, PIN_LCD_RS, PIN_LCD_D4, PIN_LCD_D5, PIN_LCD_D6, PIN_LCD_D7);
```

i am also getting these kinds of errors
```
ketch/OpenSprinkler.cpp:725:13: note: in expansion of macro 'SDA_PIN'
Wire.begin(SDA_PIN, SCL_PIN);
^
Pins.h:50: error: 'D2' was not declared in this scope
#define SCL_PIN D2 //:redefined
^
sketch/OpenSprinkler.cpp:725:22: note: in expansion of macro 'SCL_PIN'
Wire.begin(SDA_PIN, SCL_PIN);
^
In file included from sketch/OpenSprinkler.cpp:23:0:
Pins.h:128: error: 'D3' was not declared in this scope
#define PIN_SR_LATCH D3 // shift register latch pin
^
sketch/Defines.h:447:56: note: in definition of macro 'DEBUG_PRINTLN'
#define DEBUG_PRINTLN(x) if(DB&DB_MASK) Serial.println(x) //;Serial.print(DB,DEC);Serial.println(DB_MASK,DEC);
```

and a lot more...