-
-
Notifications
You must be signed in to change notification settings - Fork 722
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
Add support for SEQURE S99, and new Rev. of S60P #1920
base: dev
Are you sure you want to change the base?
Conversation
Co-authored-by: discip <[email protected]>
Co-authored-by: discip <[email protected]>
Hia, This is great progress. The black screen at startup is odd. PD negotiation shouldn't block boot. Is it possible its being restarted rapidly with flaky USB-PD? (Do you have any tools for debugging USB-PD)? I haven't really worked on the |
Hey, yeah. It seems to restart rapidly. It seems to be especially with the Apple Chargers. Another charger I tried let the iron boot straight up. Sadly I don't have special USB-PD tools. Maybe I need to get something or build something to hook a logic analyzer on? As I could see with the debug menu, when it comes up it gets all available PD modes, but stays in 5V mode. I think I need to take a look at the measurement of the tip for the power calculation? Maybe you can give me a hint on that? |
@Ralim I'm currently digging a bit through the code and debug outputs of the iron. I wondered why it reports Regarding the PD negotation problem with my Apple 60W USB-C PSUs I tried to increase the PROTOCOL_TIMEOUT to 200 ms, which helped. The Iron boots instantly. PD Debug First Shows I hope I can make some progress tomorrow. |
Ah heck, yes that will fix the issue
|
@Ralim It's a bit unclear to me. In the Settings.cpp
How did you determined the value for the OP_AMP_GAIN_STAGE? |
Ah sorry, I think we raised the default later on.
In the S60, its two sequential op-amps chained. Input op-amp has feedback resistors of 9.31K and 1K. (therefore gain is 10.31) So 10.31 * 50 = 536.12; so the define is set to 536 |
* Enable PD Options * Make PDNegTimeout configureable * Add default value for PDNegTimeout, also for S60 and S60P * Add basic DC detection / correct debug readings while powered via DC * Add basic ThermoModel for C245 Tips * Modify op-amp gain
bool getIsPoweredByDCIN() { return false; } | ||
bool getIsPoweredByDCIN() { | ||
#if POW_PD_EXT == 2 && defined(POW_DC) | ||
if (!FS2711::has_run_selection()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏼
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems sane to me at a read.
Let me know when you are happy with this by marking it ready for review 🙇🏼 |
Nice! |
I compared the temperature at a setpoint of 320°C to a original JBC station. In my eyes the coefficient is okay for a first shot. Then I observed that the name and description for PDNegTimeout and USBPDMode are not shown in the menu. I quite don't get it. The menu Item is here I got a second S99 which is V1.5 instead of V1.4, it seems that they changed something. Although a FS2711 is used, it does not negotiate PD. I quickly took two picutes: |
@Ralim, I tried your increased pwm speed. Works great on the S99! No more restarts, even with power limit set to 60W on a 60W USB-C charger. What I got so far regarding v1.5
|
@jonasius Unfortunately, the result is still pretty similar:
|
@pineapple-academic @Ralim |
Just a heads up, the work done here seems to have fixed my OG v1.0 S60P, which uses the same PD IC as v1.5 S99 and identical board and other components to the v1.4 S99. Takes about 600ms to reach target temperature now lmao. |
@discip Just a few quick notes.
For testing purposes I reversed the detection. Probing on bus 1, if present setting bus 1, otherwise setting bus 2. Interestingly with this procedure negotiation fails on both of my S99 (one with USB-PD IC on bus 1 and the other with USB-PD IC on bus 2). But only one iron is showing the "No USB-PD IC detected!". Based on that I will investigate further within the next days. |
@jonasius |
is there any progress? |
Sorry, had little time lately. But it's getting colder, I think I'll be able to make some progress soon. |
FWIW, b036da9 (the latest version here) seems to be working fine on S99 V1.4 with an Honor (Huawei) 65 W Type-C adapter. Many thanks to everybody involved! Does anybody want me to do any specific testing here? Somehow this thread doesn't have much feedback from happy owners already, how come? BTW, I do not remember if it was mentioned already so want to highlight this service notice from the manufacturer just in case: PCB versions 1.3 and 1.4 require modification for long-term reliability: https://sequremall.com/blogs/sequre-product-firmware-upgrade/s99-soldering-iron-firmware-upgrade (scroll to "Recommend buyers add capacitance to the PCB of the S99 by themselves:"). |
How can a binary for this version be downloaded? Or have you compiled it yourself?
Is the PCB version the same shown as "H: " under the "About" option with the factory software? |
On Sat, Sep 28, 2024 at 05:15:46AM -0700, Durval Menezes wrote:
FWIW, [1]b036da9 (the latest version here) seems to be working fine on S99
V1.4 with an Honor (Huawei) 65 W Type-C adapter
How can a binary for this version be downloaded? Or have you compiled it
yourself?
$ git fetch https://github.com/Ralim/IronOS/ pull/1920/head
$ git checkout FETCH_HEAD
$ make firmware-EN model=S99 -j`nproc`
$ cp source/Hexfile/S99_EN.hex /mnt/
$ umount /mnt
So yes, built it myself without any tricks, really happy with the
experience.
I attached the file I flashed (packed to .gz because GitHub didn't
want to have .hex) just in case.
service notice from the manufacturer just in case: PCB versions 1.3 and 1.4
require modification for long-term reliability
Is the PCB version the same shown as "H: " under the "About" option with the
factory software?
I didn't know I could check that with the factory firmware, sorry,
can't tell now. The version I saw was silkscreened on the PCB itself.
…--
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
***@***.***
|
See here:
From my observation it should be the pcb/hw revision. |
Thanks for your work on this. Everything is working great on my end with latest changes, full 60W out of a 60W lenovo adaptor at 19VDC. |
Unfortunately this is still not working for the @Ralim |
Works on my (v1.1 PCB) S60P with a steamdeck charger and a lenovo 65W charger |
@discip What charger are you using? Ill try this locally |
@Ralim |
https://github.com/jonasius/IronOS/actions/runs/10709046785/job/29692775793 Works on my new S99 (PCB v1.5) with a 65W charger |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As already mentioned, in the current state this unfortunately does not work for the S60P
.
To move on I'm planning to create a few versions for you to test. Maybe the initialization of i2c1 or the probing isn't working properly on your hw rev. |
@discip If the fw in Hexfile_noI2C1.zip isn't working on your S60P, that would indicate a problem with the I2C-probing on I2C2. |
After flashing Hexfile_noI2C1.zip the OLED stayed off. After flashing Hexfile_noI2C1_noprobing.zip @Ralim |
PD Debug State 1 means that the I2C communication with the PD-IC is working. That should be the same behavior as with the current dev branch. The OLED off with the version with probing means that the probing on I2C2 fails. I'll think about how we could further investigate on that. |
Hmm; PPS evaluation could be involved, it would be my rough guess as its probably the pain part of the protocol. Is it possible to disable PPS for testing? |
@Ralim But for testing purposes this could be disabled. |
What is the new behavior (if this is a feature change)?
IronOS booting on Sequre S99
Other information:
Currently work in progress.
Problems / Todo
State 0 0 21
multiple times, with blinking/resetting screen, after a while showingState 4 1 21
.OP_AMP_GAIN_STAGE 536
needs to be adjusted according to the 22k resistor instead of 51ksource/Code/BSP/Sequre_S60
folder should be renamed toSequre
?