bluer-ugv 7.838.1__tar.gz → 7.866.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bluer_ugv-7.838.1/bluer_ugv.egg-info → bluer_ugv-7.866.1}/PKG-INFO +2 -2
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/README.md +1 -1
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/docs.py +2 -0
- bluer_ugv-7.866.1/bluer_ugv/README/rangin/operation.py +5 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/location.py +1 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/__init__.py +1 -1
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/config.env +3 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/env.py +12 -2
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +2 -2
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +15 -3
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/session.py +26 -27
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +7 -4
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/ethernet.py +2 -1
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1/bluer_ugv.egg-info}/PKG-INFO +2 -2
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/SOURCES.txt +1 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/LICENSE +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/MANIFEST.in +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/abcli.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/actions.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/aka.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/alias.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/cat.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/cd.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/set.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ethernet/test.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ethernet.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/git/rm_keys.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/git.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/play.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/cat.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/download.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/edit.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/upload.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/help.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_video_play.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_video_playlist.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/ugv_get.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/get.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/ssh.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/watch.sh +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/aliases.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/algo.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/design.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/flag.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/beast.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/build.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/box.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/power.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/schematics.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/testing.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/v1.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/v2.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/testing.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/mechanical.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/power.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/root.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/schematics.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/specs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/terraform.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/releases.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/root.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/shortcuts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/analog.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/driving.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/tracking.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/ethernet.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/items.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/build.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/DYI.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/classes.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/concealment.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/control.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/cost.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/db.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/payload.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/ps.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/range.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/sanction_proof.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/size.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/speed.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/swarm.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/uv_delivery.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/references/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/references/classes.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/references/db.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/ugvs/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/ugvs/classes.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/ugvs/db.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/db.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/docs.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/ethernet.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/get.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/assets/comparison.html +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/eagle/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/eagle/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/fire/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/fire/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/rangin/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/rangin/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin3/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin4/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/functions.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/get.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/git.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/ssh.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/dataset.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/debug.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/env.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/ethernet.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/git.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/select_target.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/video/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/video/functions.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/video/playlist.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/watch.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/host.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/logger.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/sample.env +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/dataset/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/debug.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/void.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/classes.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/client.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/command.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/testing.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/void.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/classes.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/engine.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/player.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/playlist.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection_list.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/functions.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/targeting.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/urls.py +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/requires.txt +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/top_level.txt +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/pyproject.toml +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/requirements.txt +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/setup.cfg +0 -0
- {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_ugv
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.866.1
|
|
4
4
|
Summary: 🐬 AI x UGV.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-ugv
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -65,7 +65,7 @@ pip install bluer_ugv
|
|
|
65
65
|
|
|
66
66
|
[](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-ugv/) [](https://pypistats.org/packages/bluer-ugv)
|
|
67
67
|
|
|
68
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.
|
|
68
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.866.1`](https://github.com/kamangir/bluer-ugv).
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -35,5 +35,5 @@ pip install bluer_ugv
|
|
|
35
35
|
|
|
36
36
|
[](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-ugv/) [](https://pypistats.org/packages/bluer-ugv)
|
|
37
37
|
|
|
38
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.
|
|
38
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.866.1`](https://github.com/kamangir/bluer-ugv).
|
|
39
39
|
|
|
@@ -4,6 +4,9 @@ BLUER_UGV_CAMERA_TRAINING_PERIOD=3.0
|
|
|
4
4
|
BLUER_UGV_CAMERA_ACTION_PERIOD=0.5
|
|
5
5
|
|
|
6
6
|
BLUER_UGV_SWALLOW_STEERING_SETPOINT=50
|
|
7
|
+
|
|
8
|
+
BLUER_UGV_SWALLOW_STEERING_EXPIRY=0.05
|
|
9
|
+
BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET=0.1
|
|
7
10
|
BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY=0.1
|
|
8
11
|
|
|
9
12
|
BLUER_UGV_MOUSEPAD_ENABLED=0
|
|
@@ -35,11 +35,21 @@ BLUER_UGV_SWALLOW_STEERING_SETPOINT = get_env(
|
|
|
35
35
|
50,
|
|
36
36
|
)
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
"
|
|
38
|
+
BLUER_UGV_SWALLOW_STEERING_EXPIRY = get_env(
|
|
39
|
+
"BLUER_UGV_SWALLOW_STEERING_EXPIRY",
|
|
40
|
+
0.05,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO = get_env(
|
|
44
|
+
"BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO",
|
|
40
45
|
0.1,
|
|
41
46
|
)
|
|
42
47
|
|
|
48
|
+
BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET = get_env(
|
|
49
|
+
"BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET",
|
|
50
|
+
0.3,
|
|
51
|
+
)
|
|
52
|
+
|
|
43
53
|
BLUER_UGV_SWALLOW_YOLO_SPEED_SETPOINT = get_env(
|
|
44
54
|
"BLUER_UGV_SWALLOW_YOLO_SPEED_SETPOINT",
|
|
45
55
|
20,
|
|
@@ -168,14 +168,14 @@ class ClassicalYoloCamera(ClassicalCamera):
|
|
|
168
168
|
what="steering",
|
|
169
169
|
value=env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
|
|
170
170
|
log=True,
|
|
171
|
-
steering_expires_in=env.
|
|
171
|
+
steering_expires_in=env.BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO,
|
|
172
172
|
)
|
|
173
173
|
else:
|
|
174
174
|
self.setpoint.put(
|
|
175
175
|
what="steering",
|
|
176
176
|
value=-env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
|
|
177
177
|
log=True,
|
|
178
|
-
steering_expires_in=env.
|
|
178
|
+
steering_expires_in=env.BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO,
|
|
179
179
|
)
|
|
180
180
|
|
|
181
181
|
self.setpoint.put(
|
{bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py
RENAMED
|
@@ -44,6 +44,8 @@ class ClassicalKeyboard:
|
|
|
44
44
|
"ultrasound_enabled": True,
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
self.is_used_for_steering: bool = False
|
|
48
|
+
|
|
47
49
|
def get(self, what: str, default: Any) -> Any:
|
|
48
50
|
with self._lock:
|
|
49
51
|
return self.config.get(what, default)
|
|
@@ -59,7 +61,9 @@ class ClassicalKeyboard:
|
|
|
59
61
|
if self.special_key:
|
|
60
62
|
for key, event in self.keys.special_keys.items():
|
|
61
63
|
if keyboard.is_pressed(key):
|
|
62
|
-
|
|
64
|
+
logger.info(f'*"{key}" is pressed.')
|
|
65
|
+
|
|
66
|
+
if self.ethernet.enabled:
|
|
63
67
|
self.ethernet.client.send(
|
|
64
68
|
EthernetCommand(
|
|
65
69
|
action="keyboard",
|
|
@@ -89,26 +93,34 @@ class ClassicalKeyboard:
|
|
|
89
93
|
),
|
|
90
94
|
}.items():
|
|
91
95
|
if keyboard.is_pressed(key):
|
|
96
|
+
logger.info(f'"{key}" is pressed.')
|
|
92
97
|
self.special_key = False
|
|
93
98
|
func()
|
|
94
99
|
|
|
95
100
|
# steering
|
|
96
101
|
if keyboard.is_pressed(self.keys.get("steer left")):
|
|
102
|
+
logger.info('"steer left" is pressed.')
|
|
97
103
|
self.special_key = False
|
|
98
104
|
self.last_key = "a"
|
|
99
105
|
self.setpoint.put(
|
|
100
106
|
what="steering",
|
|
101
107
|
value=env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
|
|
102
108
|
)
|
|
109
|
+
|
|
110
|
+
self.is_used_for_steering = True
|
|
103
111
|
elif keyboard.is_pressed(self.keys.get("steer right")):
|
|
112
|
+
logger.info('"steer right" is pressed.')
|
|
104
113
|
self.special_key = False
|
|
105
114
|
self.last_key = "d"
|
|
106
115
|
self.setpoint.put(
|
|
107
116
|
what="steering",
|
|
108
117
|
value=-env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
|
|
109
118
|
)
|
|
110
|
-
|
|
111
|
-
self.
|
|
119
|
+
|
|
120
|
+
self.is_used_for_steering = True
|
|
121
|
+
elif self.is_used_for_steering:
|
|
122
|
+
if self.setpoint.check_steering_expiry():
|
|
123
|
+
self.is_used_for_steering = False
|
|
112
124
|
|
|
113
125
|
# debug mode
|
|
114
126
|
if keyboard.is_pressed(self.keys.get("debug on")):
|
|
@@ -118,8 +118,6 @@ class ClassicalSession:
|
|
|
118
118
|
self.motor2.role,
|
|
119
119
|
)
|
|
120
120
|
)
|
|
121
|
-
else:
|
|
122
|
-
logger.info("no wheels.")
|
|
123
121
|
|
|
124
122
|
self.position = ClassicalPosition(object_name)
|
|
125
123
|
|
|
@@ -215,31 +213,7 @@ class ClassicalSession:
|
|
|
215
213
|
]
|
|
216
214
|
)
|
|
217
215
|
|
|
218
|
-
def
|
|
219
|
-
self.timing.start("session.update")
|
|
220
|
-
|
|
221
|
-
for thing in [
|
|
222
|
-
self.keyboard,
|
|
223
|
-
self.push_button,
|
|
224
|
-
self.camera,
|
|
225
|
-
self.position,
|
|
226
|
-
self.setpoint,
|
|
227
|
-
self.motor1,
|
|
228
|
-
self.motor2,
|
|
229
|
-
self.leds,
|
|
230
|
-
self.screen,
|
|
231
|
-
]:
|
|
232
|
-
self.timing.start(thing.__class__.__name__)
|
|
233
|
-
|
|
234
|
-
if not thing.update():
|
|
235
|
-
return False
|
|
236
|
-
|
|
237
|
-
self.timing.stop(thing.__class__.__name__)
|
|
238
|
-
|
|
239
|
-
self.timing.stop("session.update")
|
|
240
|
-
if self.location != "front":
|
|
241
|
-
return True
|
|
242
|
-
|
|
216
|
+
def process_ethernet_messages(self) -> bool:
|
|
243
217
|
while True:
|
|
244
218
|
try:
|
|
245
219
|
# pylint: disable=protected-access
|
|
@@ -263,3 +237,28 @@ class ClassicalSession:
|
|
|
263
237
|
logger.warning(f"unknown command: {command.as_str()}")
|
|
264
238
|
|
|
265
239
|
return True
|
|
240
|
+
|
|
241
|
+
def update(self) -> bool:
|
|
242
|
+
self.timing.start("session.update")
|
|
243
|
+
|
|
244
|
+
for thing in [
|
|
245
|
+
self.keyboard,
|
|
246
|
+
self.push_button,
|
|
247
|
+
self.camera,
|
|
248
|
+
self.position,
|
|
249
|
+
self.setpoint,
|
|
250
|
+
self.motor1,
|
|
251
|
+
self.motor2,
|
|
252
|
+
self.leds,
|
|
253
|
+
self.screen,
|
|
254
|
+
]:
|
|
255
|
+
self.timing.start(thing.__class__.__name__)
|
|
256
|
+
|
|
257
|
+
if not thing.update():
|
|
258
|
+
return False
|
|
259
|
+
|
|
260
|
+
self.timing.stop(thing.__class__.__name__)
|
|
261
|
+
|
|
262
|
+
self.timing.stop("session.update")
|
|
263
|
+
|
|
264
|
+
return self.process_ethernet_messages()
|
{bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py
RENAMED
|
@@ -5,6 +5,7 @@ import time
|
|
|
5
5
|
|
|
6
6
|
from bluer_options import string
|
|
7
7
|
|
|
8
|
+
from bluer_ugv import env
|
|
8
9
|
from bluer_ugv.swallow.session.classical.leds import ClassicalLeds
|
|
9
10
|
from bluer_ugv.swallow.session.classical.ethernet.classes import ClassicalEthernet
|
|
10
11
|
from bluer_ugv.swallow.session.classical.setpoint.steering import (
|
|
@@ -66,10 +67,10 @@ class ClassicalSetPoint:
|
|
|
66
67
|
def check_steering_expiry(
|
|
67
68
|
self,
|
|
68
69
|
log: bool = True,
|
|
69
|
-
):
|
|
70
|
+
) -> bool:
|
|
70
71
|
with self._lock:
|
|
71
72
|
if self.steering == 0:
|
|
72
|
-
return
|
|
73
|
+
return False
|
|
73
74
|
|
|
74
75
|
if self.steering_expiry > time.time():
|
|
75
76
|
if log:
|
|
@@ -83,7 +84,7 @@ class ClassicalSetPoint:
|
|
|
83
84
|
)
|
|
84
85
|
)
|
|
85
86
|
)
|
|
86
|
-
return
|
|
87
|
+
return False
|
|
87
88
|
|
|
88
89
|
if log:
|
|
89
90
|
logger.info("setpoint expired.")
|
|
@@ -93,12 +94,14 @@ class ClassicalSetPoint:
|
|
|
93
94
|
value=0,
|
|
94
95
|
)
|
|
95
96
|
|
|
97
|
+
return True
|
|
98
|
+
|
|
96
99
|
def put(
|
|
97
100
|
self,
|
|
98
101
|
value: Union[int, bool, Dict[str, Union[int, bool]]],
|
|
99
102
|
what: str = "all",
|
|
100
103
|
log: bool = True,
|
|
101
|
-
steering_expires_in: float =
|
|
104
|
+
steering_expires_in: float = env.BLUER_UGV_SWALLOW_STEERING_EXPIRY,
|
|
102
105
|
):
|
|
103
106
|
with self._lock:
|
|
104
107
|
if what == "all":
|
{bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/ethernet.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from typing import Union, Dict
|
|
2
2
|
|
|
3
|
+
from bluer_ugv import env
|
|
3
4
|
from bluer_ugv.swallow.session.classical.ethernet.command import EthernetCommand
|
|
4
5
|
from bluer_ugv.swallow.session.classical.setpoint.classes import ClassicalSetPoint
|
|
5
6
|
|
|
@@ -10,7 +11,7 @@ class ClassicalEthernetSetPoint(ClassicalSetPoint):
|
|
|
10
11
|
value: Union[int, bool, Dict[str, Union[int, bool]]],
|
|
11
12
|
what: str = "all",
|
|
12
13
|
log: bool = True,
|
|
13
|
-
steering_expires_in: float =
|
|
14
|
+
steering_expires_in: float = env.BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET,
|
|
14
15
|
):
|
|
15
16
|
super().put(
|
|
16
17
|
value=value,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_ugv
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.866.1
|
|
4
4
|
Summary: 🐬 AI x UGV.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-ugv
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -65,7 +65,7 @@ pip install bluer_ugv
|
|
|
65
65
|
|
|
66
66
|
[](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-ugv/) [](https://pypistats.org/packages/bluer-ugv)
|
|
67
67
|
|
|
68
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.
|
|
68
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.866.1`](https://github.com/kamangir/bluer-ugv).
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -114,6 +114,7 @@ bluer_ugv/README/rangin/consts.py
|
|
|
114
114
|
bluer_ugv/README/rangin/docs.py
|
|
115
115
|
bluer_ugv/README/rangin/items.py
|
|
116
116
|
bluer_ugv/README/rangin/mechanical.py
|
|
117
|
+
bluer_ugv/README/rangin/operation.py
|
|
117
118
|
bluer_ugv/README/rangin/parts.py
|
|
118
119
|
bluer_ugv/README/rangin/power.py
|
|
119
120
|
bluer_ugv/README/rangin/root.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh
RENAMED
|
File without changes
|
{bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh
RENAMED
|
File without changes
|
{bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|