Page 1 of 5

Sketch too big

PostPosted: Sun Dec 07, 2014 11:37 pm
by robjamben
My relay shield fried so I am upgrading my opener to the Xboard relay. When I tried to verify/compile my sketch, it said "sketch too big - binary sketch size: 28,716 bytes (of a 28,672 byte maximum)". After going through the sketch, I found that it becomes too big when I uncomment "#define PUSH_NOTIFICATIONS" for ios push notifications via prowl. I have no other notifications that I am using. Why is it becoming too big when I uncomment this notification? How can I correct this issue? Thanks in advance for any help.

Rob

Re: Sketch too big

PostPosted: Mon Dec 08, 2014 10:40 am
by support
Emmm ... The Arduino platform being what it is (very limited memory), we know our sketch is very border line in terms of memory footprint ...

Did you modify anything in the INO file? For example messages or strings ... You will need to reduce the size of the program by a few bytes to
make it fit.

FYI, we are currently working at a new backend version that ditches the WebDuino library which is the component that uses most of the memory
in our current setup ...

Re: Sketch too big

PostPosted: Wed Dec 10, 2014 10:20 am
by robjamben
I have only added the information needed to operate the program, IP address, password, uncomment notifications, uncomment push notifications for Prowl, add Prowl ID. What can I cut to safely "make weight"?

Rob

Re: Sketch too big

PostPosted: Fri Dec 12, 2014 10:07 pm
by support
You can disable notifications for the time being. As mentioned in a prior post, we will be shortly coming with an updated version
that will no longer rely on the WebDuino library and should shave off a significant amount of memory needed.

Re: Sketch too big

PostPosted: Sun Dec 14, 2014 2:46 pm
by support
We made available today (pre-release) a new version (2.4) of our Arduino back-end software. It's a lot leaner as we got rid
of the "WebDuino" and "Time" libraries. Please give it a try and report as to whether it resolves your issue or not.

https://github.com/yanavery/MyDoorOpener-Arduino/releases

Thanks,

Re: Sketch too big

PostPosted: Tue Dec 16, 2014 1:22 am
by tiga31328
[quote="support"]We made available today (pre-release) a new version (2.4) of our Arduino back-end software. It's a lot leaner as we got rid
of the "WebDuino" and "Time" libraries. Please give it a try and report as to whether it resolves your issue or not.

[url]https://github.com/yanavery/MyDoorOpener-Arduino/releases[/url]

Thanks,[/quote]



Hi!

I am trying out 2.4, without making any modifications and attempt to compile the Sketch, I immediately get the following errors;

Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Leonardo"
MyDoorOpenerServer.cpp: In member function 'boolean MyDoorOpenerServer::isPasswordValid(char*)':
MyDoorOpenerServer.cpp:311: error: 'aes256_context' was not declared in this scope
MyDoorOpenerServer.cpp:311: error: expected `;' before 'ctx'
MyDoorOpenerServer.cpp:312: error: 'ctx' was not declared in this scope
MyDoorOpenerServer.cpp:312: error: 'aes256_init' was not declared in this scope
MyDoorOpenerServer.cpp:313: error: 'aes256_decrypt_ecb' was not declared in this scope
MyDoorOpenerServer.cpp:314: error: 'aes256_done' was not declared in this scope

If I enter only my IP, Port, and Password I still receive the above errors.
If I comment out the 'aes256' lines it compiles, but I don't know what that is doing to it stability wise.

However, once it is compiling, as soon as I enable notifications, i.e., #define NOTIFICATIONS_WATCHDOG_MINUTES 5 , I receive the following set of errors;

Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Leonardo"
MyDoorOpener.ino: In function 'void watchDogNotificationsHandler()':
MyDoorOpener:455: error: 'time_t' does not name a type
MyDoorOpener:456: error: 'time_t' was not declared in this scope
MyDoorOpener:456: error: expected `;' before 'latestOpen'
MyDoorOpener:465: error: 'initialOpen' was not declared in this scope
MyDoorOpener:466: error: 'now' was not declared in this scope
MyDoorOpener:468: error: 'latestOpen' was not declared in this scope
MyDoorOpener:468: error: 'now' was not declared in this scope
MyDoorOpener:470: error: 'initialOpen' was not declared in this scope
MyDoorOpener:521: error: 'initialOpen' was not declared in this scope


This is my first time ever using an Arduino device so I certainly believe I am doing something wrong, but, it looks like something in the aes256 is not linking, and when enabling notifications that time_t is not valid, from the release notes it appears it was taken out in the 2.4 release.

Any help you can provide is greatly appreciated as this is my first attempt and I am really looking forward to using the board with the app to control my two garage doors.


Thanks again,
Patrick

Re: Sketch too big

PostPosted: Wed Dec 17, 2014 12:46 am
by robjamben
I downloaded the new Arduino Server Version 2.4. I set it up for my door. I uncomment notifications for open, watchdog and push notifications. I went to verify/compile and I received an error regarding watchdog. The error was "Time_T Does not name a type". If I comment watchdog, the program verifies and is quite smaller in size. I went ahead and uploaded the program without watchdog to see if everything worked. I can't get the door to open. I hear the relay click so I know I am making connection to the board but no action on the door. I also can't get it to verify if the door is open or closed. If I hook up the old setup, everything works again. I'm a little perplexed to say the least. Any ideas?

Re: Sketch too big

PostPosted: Tue Dec 23, 2014 6:13 pm
by support
Good catch. This is why it was marked as "Pre-Release" software ... We haven't tested all combinations. We'll try to put out a fixed version before Xmas. Thanks!

Re: Sketch too big

PostPosted: Tue Dec 23, 2014 6:13 pm
by tiga31328
I was able to resolve this by going through and verifying my file structures, you have to match the screenshot exactly. I also found in Windows 8 at least that you have to save your config file off to another directly due to security permissions.


Patrick




tiga31328 wrote:
support wrote:We made available today (pre-release) a new version (2.4) of our Arduino back-end software. It's a lot leaner as we got rid
of the "WebDuino" and "Time" libraries. Please give it a try and report as to whether it resolves your issue or not.

https://github.com/yanavery/MyDoorOpener-Arduino/releases

Thanks,




Hi!

I am trying out 2.4, without making any modifications and attempt to compile the Sketch, I immediately get the following errors;

Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Leonardo"
MyDoorOpenerServer.cpp: In member function 'boolean MyDoorOpenerServer::isPasswordValid(char*)':
MyDoorOpenerServer.cpp:311: error: 'aes256_context' was not declared in this scope
MyDoorOpenerServer.cpp:311: error: expected `;' before 'ctx'
MyDoorOpenerServer.cpp:312: error: 'ctx' was not declared in this scope
MyDoorOpenerServer.cpp:312: error: 'aes256_init' was not declared in this scope
MyDoorOpenerServer.cpp:313: error: 'aes256_decrypt_ecb' was not declared in this scope
MyDoorOpenerServer.cpp:314: error: 'aes256_done' was not declared in this scope

If I enter only my IP, Port, and Password I still receive the above errors.
If I comment out the 'aes256' lines it compiles, but I don't know what that is doing to it stability wise.

However, once it is compiling, as soon as I enable notifications, i.e., #define NOTIFICATIONS_WATCHDOG_MINUTES 5 , I receive the following set of errors;

Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Leonardo"
MyDoorOpener.ino: In function 'void watchDogNotificationsHandler()':
MyDoorOpener:455: error: 'time_t' does not name a type
MyDoorOpener:456: error: 'time_t' was not declared in this scope
MyDoorOpener:456: error: expected `;' before 'latestOpen'
MyDoorOpener:465: error: 'initialOpen' was not declared in this scope
MyDoorOpener:466: error: 'now' was not declared in this scope
MyDoorOpener:468: error: 'latestOpen' was not declared in this scope
MyDoorOpener:468: error: 'now' was not declared in this scope
MyDoorOpener:470: error: 'initialOpen' was not declared in this scope
MyDoorOpener:521: error: 'initialOpen' was not declared in this scope


This is my first time ever using an Arduino device so I certainly believe I am doing something wrong, but, it looks like something in the aes256 is not linking, and when enabling notifications that time_t is not valid, from the release notes it appears it was taken out in the 2.4 release.

Any help you can provide is greatly appreciated as this is my first attempt and I am really looking forward to using the board with the app to control my two garage doors.


Thanks again,
Patrick

Re: Sketch too big

PostPosted: Tue Dec 23, 2014 6:49 pm
by support
Version 2.4 has been updated to fix the "watchdog" enabling issue. Not sure it fixed the other issue though ... We had to re-introduce the 3rd party "Time" library as
it's required by the current watchdog notification implementation. Not too big of an issue since that library wasn't that large anyways. The Webduino library was
the larger one, and that one is still out of the picture.

Please try again and see it that works. Thanks,