temper icon indicating copy to clipboard operation
temper copied to clipboard

[Testers Needed] Using non blocking I/O

Open barry-scott opened this issue 4 years ago • 3 comments

I have been looking at the code and noticed that its was using select is an odd way. The oddity is that the fd is not set O_NONBLOCK.

The end result of using O_NONBLOCK is that the code will report the temperatures as soon the sensor reports them. Takes 0.386s vs the old code taking 0.558s. Tested with a TEMPer2.

If you are interest in my refactors let me know and I will raise a PR.

My refactor is in https://github.com/barry-scott/temper/commit/772d8c0aa6791d7dbb1c85c25d2bfcf0aa9e4a0d.

Testers Needed

  • [ ] TEMPer 0c45:7401 TEMPerF1.4 I Metal
  • [ ] TEMPer 413d:2107 TEMPerGold_V3.1 I Metal
  • [ ] TEMPerHUM 413d:2107 TEMPerX_V3.1 I I White plastic
  • [ ] TEMPer2 413d:2107 TEMPerX_V3.3 I,E White plastic
  • [ ] TEMPer2 1a86:e025 TEMPer2_V3.7 I,E White plastic with red button
  • [ ] TEMPer1F 413d:2107 TEMPerX_V3.3 E White plastic
  • [ ] TEMPerX232 1a86:5523 TEMPerX232_V2.0 I,E I White plastic
  • [ ] TEMPer1V1.1 0c45:7401 TEMPer1F1.1Per1F E Metal

Tests Passing

  • [ ] TEMPer 0c45:7401 TEMPerF1.4 I Metal
  • [ ] TEMPer 413d:2107 TEMPerGold_V3.1 I Metal
  • [ ] TEMPerHUM 413d:2107 TEMPerX_V3.1 I I White plastic
  • [ ] TEMPer2 413d:2107 TEMPerX_V3.3 I,E White plastic
  • [ ] TEMPer2 1a86:e025 TEMPer2_V3.7 I,E White plastic with red button
  • [ ] TEMPer1F 413d:2107 TEMPerX_V3.3 E White plastic
  • [ ] TEMPerX232 1a86:5523 TEMPerX232_V2.0 I,E I White plastic
  • [ ] TEMPer1V1.1 0c45:7401 TEMPer1F1.1Per1F E Metal

barry-scott avatar Aug 07 '21 13:08 barry-scott

I am interested in this, but I'll need some testers with the different devices. I have one of the devices, and many of them are pretty finicky.

I don't have to have full coverage of all devices here -- this is entirely volunteer-driven, and it might be hard to get volunteers with all devices. But a decent majority without issues would work for me.

Can you open up a PR for this?

eode avatar Jun 28 '22 16:06 eode

@eode : You should open a PR for this.

neofob avatar Jan 04 '23 21:01 neofob

@neofob you're welcome to open a PR for this.

PRs I'll accept:

  • one that handles all models and has been tested with all models

or

  • one that provides alternate legacy/current vs new/nonblock code paths, and uses the new code path only for models that have been tested with it.

eode avatar Jan 04 '23 22:01 eode