Actions
Bug #1034
closedIncorrect identification of touchscreen display and wrong timer is being reset on touch events
Start date:
12 Sep 2023
Due date:
% Done:
100%
Estimated time:
Severity:
01 - Critical
Description
In pipics.c:main()
if ( piboxGetDisplayType() == PIBOX_LCD )
{
piboxLogger(LOG_INFO, "Registering imageTouch.\n");
piboxTouchRegisterCB(imageTouch, TOUCH_REGION);
piboxTouchStartProcessor();
}
is incorrect. It should be looking for PIBOX_TOUCH, not PIBOX_LCD.
Also:- db.c:playImages() starts a timer but it doesn't get reset on touch events. Instead, the image_cycle_id timer is reset.
- image_cycle_id timer is not needed and the playImages timer is the one that needs to be reset.
- playImages() is in db.c but should really be in pipics.c.
- do_drawing() function should not be setting or resetting any timers.
- displayImage() should call getNextImage() and return TRUE (not FALSE)
- cycleImage() can be removed
- pipicsPrev() should remove the playImages() timer, get the previous image and then call playImages().
- pipicsNext() should remove the playImages() timer, get the next image and then call playImages().
Updated by Hammel about 1 year ago
- Assignee set to Hammel
- Priority changed from Normal to Immediate
- Target version set to 3.0 - Corrino
Updated by Hammel about 1 year ago
- Severity changed from 03 - Medium to 01 - Critical
Updated by Hammel about 1 year ago
- Status changed from New to In Progress
- % Done changed from 0 to 50
These changes are implemented in the pipics sandbox and are ready for testing on hardware.
Updated by Hammel about 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 50 to 100
Changes were nearly correct, but needed a little additional work.
Changes tested on hardware (RPi LCD, w/ kiosk).
Changes committed and pushed.
Closing issue.
Actions