Building a dive computer for a school assessment

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

I wouldn't do a high school project in C, I would recommend python. For the same reason basic was invented.

I wasn't aware of DIY DECOMPRESSION, I agree: with that you can just as easily write it from scratch. I'm fairly sure that to rewrite subsurface's deco.c in python you'd have to understand enough of what that code is doing, at least to the level of DIY DECOMPRESSION.

My pet frustration is people who, instead of "cobbling something together" from existing parts, are "building stuff" while not qualified to do so. Also known as "academic software".

Before you start reinventing the wheel from scratch, go check out your nearest bike graveyard, pick up an effing hub and a rim and a bunch of spokes, and see if you can put them together in a working fashion.
 
Last edited:
I love how the OP comes on, posts a "please help me do my homework" question, then hasn't shown up since, not even to answer the basic questions put to him.

I teach this type of stuff at the university level, but I won't comment about the project until I see something more concrete from the OP.
 
I wouldn't do a high school project in C, I would recommend python. For the same reason basic was invented.

I wasn't aware of DIY DECOMPRESSION, I agree: with that you can just as easily write it from scratch. I'm fairly sure that to rewrite subsurface's deco.c in python you'd have to understand enough of what that code is doing, at least to the level of DIY DECOMPRESSION.

My pet frustration is people who, instead of "cobbling something together" from existing parts, are "building stuff" while not qualified to do so. Also known as "academic software".

Before you start reinventing the wheel from scratch, go check out your nearest bike graveyard, pick up an effing hub and a rim and a bunch of spokes, and see if you can put them together in a working fashion.

People spend a lot of time trying to do stuff the easy way.
 
I love how the OP comes on, posts a "please help me do my homework" question, then hasn't shown up since, not even to answer the basic questions put to him.

I teach this type of stuff at the university level, but I won't comment about the project until I see something more concrete from the OP.

:)

I'd say it's a big step up from a homework question, the ones I usually see are more more like "gimme the schematics and working source code".

As I recall my university level, you wouldn't see anything until 48 hours before the deadline (if that) and after that I'd be too busy and too sleep-deprived to ask any coherent questions. And by then it's too late to wait for the answers anyway.
 
Not homework, but easily within the range of a project in my 3rd year robotics course. Not a full-fledged 'on the wrist' dive computer, but a bench 'proof of concept' that could be placed in water.

Also, several days and still nothing from the OP.
 
People spend a lot of time trying to do stuff the easy way.

(Veering further OT) of course the fallacy here is the unwarranted implication that the problem lies with the easy way and not with people in question. :wink:
 
(Veering further OT) of course the fallacy here is the unwarranted implication that the problem lies with the easy way and not with people in question. :wink:
If you are saying the problem is not the technology but the people that choose to use a technology I would agree. Choosing a solution because it looks easier at the beginning is a common source of extreme pain later. When you get to actually delivering something and an overlooked facet of some silver bullet pops up and screws you over then the easy solution starts to look quite hard.

In this case the apparently easy way would be to take existing code from subsurface. That code is not easy to read and interleaves two models in an unpleasant way. Supposing they refactored it into something that they could use then they still do not understand the problem. If the subsurface derived code doesn't work they have to essentially reverse engineer it to figure out how it ought to work (if we don't do GF can we ignore gf_low_this_dive?) and how they broke it. Compare that with starting from the equations and writing a few hundred lines of code. When those don't work they can think it through completely knowing everything there is to know and understanding what they are doing.
 
:shrug: like I said, I haven't seen DIY DECOMPRESSION link when I posted that. Now that I have, I agree: don't take existing code from subsurface, take the DIY DECOMPRESSION link.
 
I happen to be the author of large parts of the decompression and dive planning code in Subsurface. Feel free to ask any questions (perhaps also by mail: helling@atdotde.de). Comments on our code quality are also always welcome! Patches even more.

Regarding the theory: The Bühlmann model (and its relatives) are pretty well covered in the internet, the bubble models much less so (at least in a way digestible by me). So after a lot of struggling (and finally having a from scratch implementation of VPM-B) I started writing a blog about all this: http://atdotde.de/theoreticaldiver

Regarding a school project: I think a dive computer is a bit to ambitions (since it also involves a lot of questions beyond programming like: How are you planning to make a box that is try and pressure resistant while having sensors exposed to the outside and also a way to recharge it). I do, however, have a suggestion for a project that involves Subsurface and small or embedded devices (and it could be prototyped on a RaspberryPi). Email me if interested.
 
Hmmm. I like the idea of an embedded device project using Subsurface. I'll visit your website this week. I'm always looking for cool project ideas for my robotics course.
 
https://www.shearwater.com/products/perdix-ai/

Back
Top Bottom