Close

HaD Blog Entry, new followers, and a brief revisit

A project log for commonCode (not exclusively for AVRs)

A shit-ton of things that are useful for a shit-ton of projects. (and, Think 'apt-get' for reusable project-code)

eric-hertzEric Hertz 06/14/2015 at 12:360 Comments

Hey! I got my very-own entry on the HaD Blog! Thanks @Benchoff.

I'd also like to thank all the new followers and skulls, awesome!

Decided to revisit "reallyCommon3.mk" and the new file-structure...

This is the latest-version of the system, as of a few months back...

And, as-yet it's only been implemented in "hearbeat" (and the new file-structure isn't yet available to the public)

The last-status was, I looked at it and realized it was *way too complex*; this relatively-simple "blinky" example requires *dozens* of files, and several in the main project-directory, alone. So, check out the old-logs, and you'll see I've been somewhat tormented about continuing down that path.

(the "reallyCommon2.mk" system had fewer necessary files, but they're also somewhat impossible to comprehend...)

...

This time... well, maybe it's not *so* bad.

Sure, it takes quite a few files... that's kinda the point of reusable code.

The main thing that bugged me, I think, was how many files are in the main project-directory... the number of files which have to be modified to begin (unless you're using the default-specs/devices).

But, really, it's not *that* bad... Some of those files are really little more than explanation with a few lines of code/options that can be reused from project-to-project.

And, again, this phase of the project is less about the actual code "libraries" than the means for distributing/implementing/centralizing it.

That part of the system is what I think makes this somewhat unique (though I recently found something similar through one of my new followers, actually a prize-entry from last year, and quite-possibly more sophisticated, that I need to look into a bit more).

Anyways, the commonCode system could be a useful sort of cross-platform [not limited to embedded] design tool... Sure "heartbeat" *does* little more than a typical "blinky" example project, but it's the entry-level project for the same commonCode system that has enabled larger projects that I consider significantly more sophisticated (including some desktop-based OpenGL projects). Once the system is understood, it should be applicable to nearly any coding-project, embedded or otherwise, and many of its "libraries" are already device-unspecific.

So... I dunno, it's a bit [maybe significantly] higher-level than setpin/clearpin used in most beginner blinky-projects. But I guess it sorta straddles the low/high-levelness of things like libmath, stdio, and runtime-libraries... But I guess that's kinda where embedded projects lay.

Still a bit to be contemplated/done before I consider heartbeat/reallyCommon3.mk/new-file-structure ready for alpha-testing.

(You may have seen heartbeat on my github... Apparently that's based on reallyCommon3.mk, but doesn't implement the new file-structure, which was a huge change, the one I'm still debating. Among other things, it's *supposed* to allow for a device-unspecific distribution... the same download would be usable for both an ATtiny85 AND a desktop/console-based test-application via simple configuration-option... Anyways, there's a bit to think about, and a reminder why I'd been contemplating whether this system is distributable via something like gitHub. Hey, if you've got an ATmega328p and want to give the old-version a try, it's still up!).

Discussions