Sketch too big

General support questions and discussions.

Sketch too big

Postby robjamben » Sun Dec 07, 2014 11:37 pm

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
robjamben
 
Posts: 8
Joined: Tue Dec 02, 2014 11:07 am

Re: Sketch too big

Postby support » Mon Dec 08, 2014 10:40 am

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 ...
support
Site Admin
 
Posts: 384
Joined: Thu Aug 22, 2013 7:30 pm

Re: Sketch too big

Postby robjamben » Wed Dec 10, 2014 10:20 am

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
robjamben
 
Posts: 8
Joined: Tue Dec 02, 2014 11:07 am

Re: Sketch too big

Postby support » Fri Dec 12, 2014 10:07 pm

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.
support
Site Admin
 
Posts: 384
Joined: Thu Aug 22, 2013 7:30 pm

Re: Sketch too big

Postby support » Sun Dec 14, 2014 2:46 pm

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,
support
Site Admin
 
Posts: 384
Joined: Thu Aug 22, 2013 7:30 pm

Re: Sketch too big

Postby tiga31328 » Tue Dec 16, 2014 1:22 am

[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
tiga31328
 
Posts: 17
Joined: Mon Dec 15, 2014 11:16 pm

Re: Sketch too big

Postby robjamben » Wed Dec 17, 2014 12:46 am

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?
robjamben
 
Posts: 8
Joined: Tue Dec 02, 2014 11:07 am

Re: Sketch too big

Postby support » Tue Dec 23, 2014 6:13 pm

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!
support
Site Admin
 
Posts: 384
Joined: Thu Aug 22, 2013 7:30 pm

Re: Sketch too big

Postby tiga31328 » Tue Dec 23, 2014 6:13 pm

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
tiga31328
 
Posts: 17
Joined: Mon Dec 15, 2014 11:16 pm

Re: Sketch too big

Postby support » Tue Dec 23, 2014 6:49 pm

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,
support
Site Admin
 
Posts: 384
Joined: Thu Aug 22, 2013 7:30 pm

Next

Return to Support



cron