summaryrefslogtreecommitdiffstats
path: root/virtual-programs/camera.folk
diff options
context:
space:
mode:
Diffstat (limited to 'virtual-programs/camera.folk')
-rw-r--r--virtual-programs/camera.folk37
1 files changed, 37 insertions, 0 deletions
diff --git a/virtual-programs/camera.folk b/virtual-programs/camera.folk
new file mode 100644
index 00000000..b865392e
--- /dev/null
+++ b/virtual-programs/camera.folk
@@ -0,0 +1,37 @@
+if {$::isLaptop} return
+
+namespace eval ::Camera {
+ variable WIDTH 1280
+ variable HEIGHT 720
+}
+
+On process {
+ source pi/Camera.tcl
+ source pi/AprilTags.tcl
+ Camera::init 1280 720
+ AprilTags::init
+
+ puts "Camera tid: [getTid]"
+
+ while true {
+ set cameraTime [time {
+ set grayFrame [Camera::grayFrame]
+ }]
+ set aprilTime [time {
+ set tags [AprilTags::detect $grayFrame]
+ }]
+
+ Commit {
+ Claim the camera frame is $grayFrame
+
+ Claim the camera time is $cameraTime
+ Claim the AprilTag time is $aprilTime
+
+ foreach tag $tags {
+ Claim tag [dict get $tag id] has center [dict get $tag center] size [dict get $tag size]
+ Claim tag [dict get $tag id] has corners [dict get $tag corners]
+ }
+ }
+ Step
+ }
+}