Opened 15 years ago
Closed 15 years ago
Last modified 15 years ago
#8446 closed defect (fixed)
[PATCH] Error in DiseqC 1.2 Rotor Positioning
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | minor | Milestone: | 0.24 |
Component: | MythTV - DVB | Version: | Master Head |
Severity: | medium | Keywords: | diseqc rotor |
Cc: | Ticket locked: | no |
Description
Attached patch fixes the problem.
The find() instruction did not work on the QMap table, because it is searching for a double (the angle) but it is filled with floats. The patch fills the QMap with doubles.
Because of this, the position could not be found in the table and Diseqc would send the degrees (19.2 for example) instead the position (1, 2, or 3 for example)
I'm compiling this on Mythbuntu 10.04/amd64 btw.
Attachments (1)
Change History (6)
by , 15 years ago
Attachment: | diseq.cpp.patch added |
---|
comment:1 by , 15 years ago
Milestone: | 0.23-fixes → unknown |
---|
Please see ticket howto, don't set milestones. Thank you for the patch.
comment:2 by , 15 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Version: | 0.23rc2 → Trunk Head |
pieter, searching for a float with a single lookup in a QMap seems rather fragile, could you perhaps rewrite the search using QMap::lowerBound() & QMap::upperBound() with deltas?
comment:3 by , 15 years ago
Because of lack of precision of floats?
I think I can make a simple iteration with a greater/smaller than routine.
Is this what you mean?
comment:4 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:5 by , 15 years ago
Milestone: | unknown → 0.24 |
---|
Patch to fix issue