billroy / bitlash

Bitlash: a programmable command shell for arduino
http://bitlash.net
MIT License
341 stars 73 forks source link

Various cleanups #23

Open matthijskooijman opened 10 years ago

matthijskooijman commented 10 years ago

This pullrequest collects the various cleanup patches I collected while working on #20. These should be the easy ones to review and the shouldn't really change any code (though of course I haven't been able to test all of the possible environments).

matthijskooijman commented 10 years ago

I noticed I accidentially changed src/bin/bitlash in one commit, I force-pushed to correct that. I also added one more commit for the Makefile.

About those binaries in the repository, do you really think they should be there? Seems to me like they're either always outdated, or you'll have to update them on every commit, which is cumbersome and enlarges the repository. Wouldn't it make more sense to remove them from the repository and separately offer them for download on your site?

matthijskooijman commented 10 years ago

I added one more commit that fixes const-correctness.

matthijskooijman commented 10 years ago

And I updated "Don't include Arduino.h in bitlash.cpp" to prevent it from breaking the Teensy 3.0 build.

matthijskooijman commented 10 years ago

Moving this discussion to the pullrequest instead of as a line note:

[const changes] That’s cool. I am wondering if this will break the earlier versions of avr-gcc. I don't suppose so, const annotations are part of the C++ standard and supported by gcc for a very long time. In any case, I've tested with Arduino 1.0.5 with avr-gcc 4.3.something. Are you interested in older versions too?

Would you please collect a list of API-breaking changes and build settings changes in your contribution so we have all of them on the table at once for discussion? Thanks!

I actually think the commits in his pullrequest should not break the API or build settings at all, in the sense that everything that previously worked should still worked. Some things the previously failed (like disabling SOFTWARE_SERIAL_TX without setting TINY_BUILD IIRC) now work as expected.

One thing that changed is that a UNIX_BUILD should now happen through running make in the src/ directory, running gcc -DUNIX_BUILD bitlash.cpp is no longer supported (since with my upcoming stream changes, additional options are needed and it would be cumbersome to have to pass all of those manually).

matthijskooijman commented 10 years ago

I think I answered all of your questions now. If I missed one, or there are other things, please let me know! :-)