james cotton <> in OpenPilot

PiOS simulation: Implement pios_com->available for simulators

    • -9
    • +12
Sanity Check: Fix indentation

Sanity Check: Cannot connect callback to TaskInfo now it isn't always used.

Revert "Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running"

This reverts commit 0b6fa7fe6f13aa7c74ffc8c2f1382271865995e6.

SanityCheck: Directly query the task monitor

Sanity Check: Fix comment

Sanity Check: uint32_t for loop indexes instead of int

Sanity Check: Perform the initial check then attach the callbacks to avoid a case where two threads do the same thing.

SanityCheck: Trigger sanity check code on callbacks from the appropriate settings.

The only downside is that it needs to update on the TaskInfo object which means

since htat updates periodically this code runs more often that really needed since

the modules only start at first. However, leaving that connection out means it

misses the initial set of modules.

Sanity check: Add some initial checks for revo that make sure the needed optional modules are running.

Sanity Check. Add the first set of checks: 1. If a flight mode switch allows autotune and autotune module not running 2. If airframe is a multirotor and either manual is available or a stabilization mode uses "none"

Sanity Check: For now force the sanity check to run once a second and always set an error

    • -12
    • +11
    • -0
    • +47
SystemAlarms: Convert to the newer way of listing elements to help merges and added SystemConfiguration

Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running so we can verify certain modules are running.

GCS Config Gadget: Fix the file name for the pipx icons in the code and name the icons correctly

GCS Config Gadget: Fix the file name for the pipx icons in the code and name the icons correctly

GCS Config: Crashing for an unknown board seems a bit harsh.

GCS Config: Crashing for an unknown board seems a bit harsh.

Merge remote-tracking branch 'origin/stac/android-build-fixes' into next

Merge branch 'android-uavo-fix' into next

Merge branch 'master' into next

AndroidGCS Telemetry: Make the connected signal only occur after all objects are downloaded

In the case of a flaky connection this will render telemetry mostly masked

from the activities. However, it ensures that all the information is present

after a connection.

Some compromise is probably needed for using this in the field, such as a

tiered system:

1. Physical channel open (no idea about reception)

2. Link estabilished (at least some reception)

3. Full telemetry established (all objects synced up)

AndroidGCS Telemetry: Sending an update could interrupt a pending transaction

We allow sending objects that don't create a transaction while waiting for one

to complete. However, this was overriding the pending transaction information

(when there wasn't a new transaction) and masking the transaction completed


Note: I think this logical error can occur on the GCS side and might explain the

"transaction completed when not expected" messages.

AndroidGCS: The leading 0 in each two bytes of the UAVO hash could get chewed up

AndroidGCS: Remove an unnecessary check that was triggering false positive telemetry errors

AndroidGCS: Delete any existing jars before loading to make sure behavior is consistent

AndroidGCS Telemetry: Use more finely grained semaphores to fix a deadlock between UAVTalk and Telemetry.

1. processInputStream -> updateObjReq (locks uavtalk) -> tranactionCompleted (locks transInfo)

2. transactionTimeout (locks transInfo) -> sendObjectRequest -> ? -> setupTransaction (locks uavtalk)

    • -28
    • +40
AndroidGCS: Make the telemetry monitor deal with loading the UAVO set before starting to retrieve all the objects.

OSX packaging: Finally link SDL in properly.

SetupWizard: Store a flag if the wizard is running to prevent starting two.

This is still not as good as getting that dialog modal since the user can get

it lost behind the main window.