Jan 8-9 25 ILX-LR1 Tests

First, I wanted to test the normal features to see if I can find some bugs. Here are my tests

There are three main parts to the ILX-LR1 integration:

  1. Non-mission mode photos reviewer

  2. Side Panel Buttons

  3. Firmware downloader

Payload Params Popup Window

Test: Check disconnect odd cases

(Bug): Connect to drone with wrong params, payload param pops up, don't apply payload params, close popup, reboot drone without clicking "disconnect" button. The popup does not reappear, but it should.

(Bug):

ILX Photos Reviewer

Test: General functionality test

Result: Only one minor issue I noticed

Minor issue: When no photos load, we don't notify the user. It just shows the popup load and nothing appear. This is a very simple fix. Just display a message if there are no photos.

Test: Spam press the photo button at top right and close popup window at different intervals

Result: Only once I noticed a few thumbnails didn't load, but I could not recreate the issue.

Test: Take a bunch of photos, see if there are any issues if we have a lot of photos. View Memory usage

Result: Listing photos, and viewing photos uses a decent amount of memory. One problem is that the photos list does not get deallocated when clicking off the photos previewer button

  • When list of photos are previewed, memory usage shoots up. Looks to have direct relationship with number of items in list.

  • When photo is previewed, memory usage goes up more. But does not go down from when list of photos are previewed, since those are still loaded in the background.

  • When we close out when the photo is previewed, the memory allocated for the photo preview gets deallocated, but the list is still loaded in the background

(Suboptimal memory handling): ILX photo previewer list of photos stays loaded in the background when closing the popup, which means if you have a ton of images, it will use up precious memory. We should put this in a loader so it unloads when closed.

(Suboptimal performance): If not in mission mode, if a ton of photos are taken in succession, system load skyrockets due to all the processing and tiling of images happening in new threads immediately. This can be noticed in the video stream which starts stuttering, because on the system I am testing, the video stream is on the banana pi as well. If we want better performance, we should implement thread pooling and have a limited number of worker threads that can execute tasks at once. This will mean that the images will take longer to get tiled, but it would be better overall for the system.

This issue was introduced when we started tiling images, because tiling takes 5-6 seconds per image

Other bugs

(Minor Bug): The photo viewer very slightly prevents scrolling to the very edges of image when zoomed in. This is hard to notice and pretty small.

(Minor Bug): Closing popup while photos are loading does not properly cancel all network requests, which means some thumbnails in the list will still download in the background.


Side Panel Buttons (and settings gear)

Test: Spam a button a number of times, ensure that the LR1 handles the spamming correctly and does not result in crashing of the LR1 software or IGC

Result: There are a few bugs relating to spamming buttons. The most egregious is with the half-shutter button.

0. Shutter (take photo) button (Good)

Does not appear to cause problems

  1. Half Shutter Button [1/2] (BUG found)

BUG: Spamming the half press button results in every half press being queued and letting go will keep half pressing until the ILX-LR1 disconnects and never comes back. ILX-LR1 software does not recover from this and it requires a full reboot to bring it back. The ILX-LR1-MavCam program goes into full deadlock from this

  1. Settings buttons [+] and [-] (BUG found)

BUG: All settings work well even when spamming + and - except zoom which occasionally will get "locked" into a zoom and continue zooming even when not holding the button down. As a note, it is hard to consistently trigger this bug unless you are tapping zoom really fast. It takes effort to trigger it. 3. ISO/SHT/ZM/EXP button: No bug found

  1. Rec button (BUG found)

If you spam rec, or click it multiple times while starting recording, sometimes you can get the button animation to play when it stops recording, or you can also make it so you have to hit the rec button twice to stop recording. Spamming appears to cause the UI and ILX-LR1 states to become disjointed.

Test: Ensure buttons work as expected including on settings gear popup:

Result: Tested all buttons, each one works as expected except the shutter button also saves screenshots of photos to Photos directory

  1. Undesired behavior: Shutter button also saves screenshot of photos to Photos directory

These are low quality photos entirely dependent on the size of the video widget. They will pile up if a user takes a lot of photos. We should probably disable this when using the LR1, and perhaps when using other cameras as well. This is a normal feature on QGC.

  1. (Bug) Minor annoyance: The EXP setting is supposed to be unavailable if ISO is not auto, due to how the LR1 functions. So, we have it not show up when the ISO is not auto. But if ISO is changed from auto to another setting via the settings gear popup instead of through the buttons the normal way while being on the EXP setting, it will not auto switch. If you press + or - while on the EXP setting when EXP is disabled, nothing happens. This is a very minor visual bug, and does not cause any negative effects.

Test: Memory usage

Hitting side buttons does not impact memory


ILX Firmware Downloader

Test: Intentionally cause disconnection midway through

(Bug / Unintended behavior): If we disconnect midway through the firmware update, IGC has no way of knowing we did so because we aren't constantly pinging the control pi for status. So, we end up waiting forever. We should add a method to consistently ping the status of the firmware download from the banana pi so that IGC knows if there is a failure and acts accordingly.

Test: Memory usage

Firmware downloader does not have a significant impact on memory


Other (unrelated) bugs:

(Bug) Switches bug: Upon fresh install, all switches are false, and you have to relaunch for them to properly be detected.

Recreate: Completely uninstall IGC and reinstall

Last updated