-
-
Notifications
You must be signed in to change notification settings - Fork 718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MHP30 Support #940
MHP30 Support #940
Conversation
* OLED * Buttons
Long overdue
I gave up trying to make the timing work out, so just masking heating for the 0.3 seconds for now. Feel like a re-test? :) |
Re-tested. Doesn't crash on any power supplies. And that's what's the most important on first support release, in my opinion. Seems very great. Works stable. 😊 Some notes for future releases: |
Hmm... Found some bug just now with long pressing BOOST. Cannot tell exactly what it was, but then hotplate was on target temp and pressed boost, temp raised and then beeper screamed non stop, till temp dropped slowly to targettemp+10'C. Wasn't able to replicate it once more. I may test more. Anyways, it doesn't crash and works fine. Maybe race condition. Another bug then slow-spaming boost button in range between targettemp and targettemp+10'C. Race condition too, I think. But these bugs doesn't really bother to get job done, for now. 📈 |
temperatures / color: i personally prefer smooth transitions to signal the color. have implemented this on my 3D printer thats something even my kids understood :)
|
Led colour is something I'm planning to leave out of this current PR, and welcome the community to provide PR's on how its done. Personally I'm fairly indifferent to the LED other than wanting bright colours = burn risk. (Prefer not white but not hard rule on that) The crashes going into and out of boost mode I've only been able to replicate once and that was on my 30W adaptor so I'm more suspect of power glitching at this point :/ I think I'll merge the current status of the PR so I can include this in the next release, and then ask that we split out separate issues for each improvement to keep the noise down :) So if you could split out issues for remaining issues would be fantastic, as I think we are now beyond usable and into refinement stage. |
In terms of your colour code, should be easy enough to add something like that when I have time (or PR welcome). Current implementation is mostly MVP :) |
personally prefer blue, yellow, orange, white |
@Ralim thanks for your work! |
Hehe, I think we will end up needing settings on this already 😁 since to me white = on, green = safe, blue =cold and red = hot 🤣 |
in the end the user gets used to the colors anyway, no matter which got picked ;) |
As this project grows, I think that artifacts should be not firmware, but firmware-installer/compiler/manager/driver, which build user preferred modules/features and compiler would look at user editable config file (like linux kernel build config smth). User downloads portable IronOS builder, launches it, checks what he wants and how, then custom firmware is built. This builder would allow to select language (if GUI) etc. This innovation path would allow to save hardware ROM for features user wants as project grows in features more than hardware can contain. E.g. if user want full Tetris, he can even uncheck compiler "add feature" for heating the tip. 😂 |
Maybe this installer/compiler thing could also have profile manager. Maybe user could make heating profile logic with https://github.com/google/blockly which would be embedded into Electron webapp. |
(added a graphic above, visualizing the coloring i meant) regarding building: however you could provide a separate hex with the settings area that could be customized by the user. but having a small C/.py tool that generates a maybe 128 byte .hex from out of thin air, that contains all provided settings in this settings area you could also place the color structure from above, as well the profiles or even a startup image. |
My general feeling on the compiler tool is that most people don't really want to deal with that, plus packaging compilers for multiple distributions is a nightmare. I haven't come across a single electron app that is smaller than the zip of firmwares to date 😂 also my general preference is anything but electron. (When electron stops shipping me basically a browser to run a Web page maybe I'll be interested). I agree a config tool / page that generates a hex to flash in the settings area is a better way to go, but also that feels largely a nightmare for support. I've thought about making up a qt or fyne gui to do this but just don't have the time at all. My plan was the tool does:
But building that out is a chunk of time 😢 |
ok then we would have to reserve 4k of the flash for the settings area - is this feasible? |
Ah, no we only need to reserve one erase page (1k), you literally copy-paste the hex file lines to make the resulting hex file larger than 4k. No firmware changes required really. Yeah Web page is definitely a valid way to go about this, only magic is knowing settings offset based on model number. |
cant we use a fixed location in the flash for the future? or do we have different chips? |
Different sized flash and we place settings in one of the last pages to avoid dealing with linking over a gap |
just googled a BSD 3-clause hex handling library that could fit: |
linking over a gap shouldnt be an issue, or? |
Shouldn't be an issue, but ran into issues in my quick attempt to get it to work nicely. Also given we have bumped into 0% free flash a few times already in the history of the firmware, concern around packing density against aligning to the gap is a thing. But yeah I agree it could definitely be done, most likely by just careful linker set up. |
yeah understand and agree. reserving 1k ist tough anyway. |
KISS! In every bathroom in the world blue means cold, red means hot. My proposal, simple and intuitive for all humans that use hot/cold water at home Standby: Green (good to go) only then we can discuss the below ones: Overheat: RED flashing + buzzer! (do not touch it, ALARM!) smooth transition is for teenagers IMHO. |
talking about a custom open sourced firmware for a mini microcontroller / OLED controlled USB-C PD hotplate and asking for KISS. |
Hello, Please note that DFU is NOT changeable, and thus is will always be blue and we won't use blue because of that. The convention I went with is red/yellow== burn risk and green == safe. As red/green is far more used on tools than blue (blue is often an on light). What would you mean by overheat? |
Well if it is possible always go KISS!
To put the unit in DFU mode the user has to perform a not intuitive process.
Long story short: it is impossible to confuse the blue DFU with the unit on and <60
Oh, I assumed there is a safety/emergency state when the unit is thermal drifitng with full power... Ralim and g3gg0 you did and do a wonderful job, and deserve all my respect. As you already mentioned, colors must be user configurable somehow. Ping me if you need someone to test some new features. |
Tracking progress in bringing in support for the MHP30.
Cant merge / usable until all a ticked off.
Closes #822