5 ms·
That is so deeply awesome. Can you tell us a bit more detail about the systems and how they work? C? Assembly?
by nlh 9y ago
That is so deeply awesome. Can you tell us a bit more detail about the systems and how they work? C? Assembly?
- mywacaday 9y agoTwo years ago I moved from the Finance Industry to Life sciences, the burden of documentation and regulation is something to consider if you want to move into any regulated industry if you are used to agile. Up until now I never thought a bank could move an order of magnitude faster than anyone.
- calummurray 9y agoWe have a little bit of assembly for processor-specific startup housekeeping, but that's mostly reused with small modifications for different boards. The rest of the code base is entirely C, managing functions such as ground communications, mobility (locomotion, navigation and control), thermal management, power management, fault detection and recovery, payload (e.g. science instrument) management and mission planning. We need 100% branch code coverage at unit test level, and have function validation tests written in Java that validate the software against the requirements, running on simulated hardware. Similar tests are run against simulators with progressively more hardware-in-the-loop for more confidence.
- rubicon33 9y agoAre there any helpful frameworks or tools for unit testing firmware projects written in C? I'd really love to know what you guys are doing!
- jnbiche 9y agoI'd also love to hear what tools the ESA is using for unit testing, test coverage, etc. in C. But for small C projects at least, I've found the CuTest framework to work well: http://cutest.sourceforge.net/ http://cutest.sourceforge.net/
- 8_hours_ago 9y agoI am also interested in what ESA is using... I have used VectorCAST to generate MC/DC coverage reports for C programs. The interface is a pain to deal with and it crashed regularly, but it did the job.
- calummurray 9y agoHate to disappoint you, but we also use VectorCAST for unit test code coverage.
- komali2 9y agoSee that sounds shitty to you man but I just had an issue where I couldn't upgrade to Webpack 4 because some critical modules were out of date, but I have to upgrade to webpack 4 because other modules are claiming they'll be dependent on it soon (or I need to use deprecated modules). When stuff like this happens I'm like... why did I choose web dev...
- marsRoverDev 9y agoFor reference, I used to be in web/mobile dev before working with OP. You can always transfer over, as to be honest a lot of the skills are transferable. That said, space code has its own versions of webpack dependency hell...
- zerr 9y agoCurious why you are not using Ada?
- marsRoverDev 9y agoWe use ada for older projects, I think the move to C was precipitated by the fact that it's hard to hire for ADA and there is not that much external support. C + MISRA + extensive testing plugs the gaps.