Skip to content

Commit 4236ba6

Browse files
committed
added a camera rotate button
1 parent 0ebd0e5 commit 4236ba6

File tree

9 files changed

+227
-157
lines changed

9 files changed

+227
-157
lines changed

camera.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,12 @@ def get_instance(cls):
3939

4040
def __init__(self):
4141
logging.info("starting camera")
42-
cam_props = {"width":640, "height":480, "exposure_mode": config.Config.get().get("camera_exposure_mode")}
42+
cam_props = {
43+
"width":640,
44+
"height":480,
45+
"exposure_mode": config.Config.get().get("camera_exposure_mode"),
46+
"rotation": config.Config.get().get("camera_rotation")
47+
}
4348
#try initialising the camera
4449
try:
4550
self._camera = camera.Camera(props=cam_props)
@@ -119,6 +124,15 @@ def get_next_photo_index(self):
119124
pass
120125
return last_photo_index + 1
121126

127+
def rotate(self):
128+
if self._camera is None:
129+
return
130+
rot = self._camera.camera.rotation
131+
rot = rot + 90
132+
if rot > 271:
133+
rot = 0
134+
self._camera.camera.rotation = rot
135+
122136
def photo_take(self):
123137
if self._camera is None:
124138
return
@@ -196,7 +210,12 @@ def calibrate(self):
196210
return
197211
img = self._camera.getImage()
198212
self._background = img.hueHistogram()[-1]
199-
213+
214+
def set_rotation(self, rotation):
215+
if self._camera is None:
216+
return
217+
self._camera.rotation = rotation
218+
200219
def find_line(self):
201220
self._image_lock.acquire()
202221
img = self.get_image(0).binarize()

coderbot.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"move_tr_speed": "75", "move_fw_elapse": "1.5", "show_page_program": "true", "load_at_start": "", "move_tr_elapse": "90", "sound_start": "$startup.mp3", "sound_stop": "$shutdown.mp3", "camera_exposure_mode": "auto", "prog_move_motion": "yes", "show_control_move_commands": "true", "prog_level": "adv", "prog_scrollbars": "true", "ctrl_counter": "yes", "ctrl_fw_speed": "100", "move_fw_speed": "100", "show_page_control": "true", "sound_shutter": "$shutter.mp3", "show_page_prefs": "true", "prog_maxblocks": "-1", "ctrl_hud_image": "", "button_func": "none", "move_motor_mode": "servo", "ctrl_fw_elapse": "-1", "ctrl_tr_elapse": "-1", "move_power_angle_2": "20", "move_power_angle_3": "20", "ctrl_tr_speed": "80", "move_power_angle_1": "15"}
1+
{"move_tr_speed": "75", "move_fw_elapse": "1.5", "show_page_program": "true", "load_at_start": "", "move_tr_elapse": "90", "sound_start": "$startup.mp3", "sound_stop": "$shutdown.mp3", "camera_exposure_mode": "auto", "camera_rotation": "180", "prog_move_motion": "yes", "show_control_move_commands": "true", "prog_level": "adv", "prog_scrollbars": "true", "ctrl_counter": "yes", "ctrl_fw_speed": "100", "move_fw_speed": "100", "show_page_control": "true", "sound_shutter": "$shutter.mp3", "show_page_prefs": "true", "prog_maxblocks": "-1", "ctrl_hud_image": "", "button_func": "none", "move_motor_mode": "servo", "ctrl_fw_elapse": "-1", "ctrl_tr_elapse": "-1", "move_power_angle_2": "20", "move_power_angle_3": "20", "ctrl_tr_speed": "80", "move_power_angle_1": "15"}

main.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ def handle_bot():
8383
elif cmd == "stop":
8484
bot.stop()
8585
motion.stop()
86+
elif cmd == "rotate_camera":
87+
cam.rotate()
8688
elif cmd == "take_photo":
8789
cam.photo_take()
8890
bot.say(app.bot_config.get("sound_shutter"))

0 commit comments

Comments
 (0)