Skip to content

Commit 229c6ef

Browse files
committed
-
1 parent abb7d6f commit 229c6ef

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

camera.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from viz import camera, streamer, image, blob
1212
import config
1313

14-
CAMERA_REFRESH_INTERVAL=0.1
1514
MAX_IMAGE_AGE = 0.0
1615
PHOTO_PATH = "./photos"
1716
PHOTO_PREFIX = "DSC"
@@ -38,7 +37,7 @@ def get_instance(cls):
3837

3938
def __init__(self):
4039
logging.info("starting camera")
41-
cam_props = {"width":640, "height":480, "exposure_mode": config.Config.get().get("camera_exposure_mode")}
40+
cam_props = {"width":640, "height":480, "exposure_mode": config.Config.get().get("camera_exposure_mode"), "jpeg_quality": int(config.Config.get().get("camera_jpeg_quality", 20))}
4241
self._camera = camera.Camera(props=cam_props)
4342
self._streamer = streamer.JpegStreamer("0.0.0.0:"+str(self.stream_port), st=0.1)
4443
#self._cam_off_img.save(self._streamer)
@@ -47,6 +46,7 @@ def __init__(self):
4746
self._run = True
4847
self._image_time = 0
4948
self._image_lock = Lock()
49+
self._image_refresh_timeout = float(config.Config.get().get("camera_refresh_timeout", 0.1))
5050

5151
self._photos = []
5252

@@ -61,7 +61,7 @@ def run(self):
6161
try:
6262
self._camera.grab_start()
6363
while self._run:
64-
sleep_time = CAMERA_REFRESH_INTERVAL - (time.time() - self._image_time)
64+
sleep_time = self._image_refresh_timeout - (time.time() - self._image_time)
6565
if sleep_time <= 0:
6666
ts = time.time()
6767
#print "run.1"

coderbot.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"move_tr_speed": "70", "move_fw_elapse": "1.5", "show_page_program": "true", "load_at_start": "", "move_tr_elapse": "1", "sound_start": "$startup.mp3", "sound_stop": "$shutdown.mp3", "camera_exposure_mode": "auto", "ctrl_tr_speed": "80", "show_control_move_commands": "true", "prog_level": "adv", "prog_scrollbars": "true", "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", "move_power_angle_1": "15"}
1+
{"move_tr_speed": "70", "camera_jpeg_quality": "10", "move_fw_elapse": "1.5", "show_page_program": "true", "load_at_start": "", "move_tr_elapse": "1", "sound_start": "$startup.mp3", "sound_stop": "$shutdown.mp3", "camera_exposure_mode": "auto", "ctrl_tr_speed": "80", "show_control_move_commands": "true", "prog_level": "adv", "prog_scrollbars": "true", "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", "camera_refresh_timeout": "0.05", "move_power_angle_2": "20", "move_power_angle_3": "20", "move_power_angle_1": "15"}

templates/config.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ <h1>CoderBot</h1>
9999
     <option value="antishake"{%if config.camera_exposure_mode=='antishake'%} selected{%endif%}>Anti shake</option>
100100
     <option value="verylong"{%if config.camera_exposure_mode=='verylong'%} selected{%endif%}>Very long</option>
101101
</select>
102+
<label for="i_camera_refresh_timeout">{% trans %}Camera refresh timeout{% endtrans %}</label>
103+
<input type="text" id="i_camera_refresh_timeout" name="camera_refresh_timeout" value="{{config.camera_refresh_timeout}}">
104+
<label for="i_camera_jpeg_quality">{% trans %}Camera jpeg quality{% endtrans %}</label>
105+
<input type="text" id="i_camera_jpeg_quality" name="camera_jpeg_quality" value="{{config.camera_jpeg_quality}}">
102106
</div>
103107
<div id="t_movement" class="ui-body-d ui-content">
104108
<label for="i_move_motor_mode">{% trans %}Motor control mode{% endtrans %}</label>

viz/camera.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def __init__(self, props):
2424
self.h264_encoder = None
2525
self.recording = None
2626
self.video_filename = None
27+
self._jpeg_quality = props.get('jpeg_quality', 20)
2728

2829
def video_rec(self, filename):
2930
self.video_filename = filename[:filename.rfind(".")]
@@ -57,7 +58,7 @@ def video_stop(self):
5758
def grab(self):
5859
ts = time.time()
5960
camera_port_0, output_port_0 = self.camera._get_ports(True, 0)
60-
self.jpeg_encoder = self.camera._get_image_encoder(camera_port_0, output_port_0, 'jpeg', None, quality=40)
61+
self.jpeg_encoder = self.camera._get_image_encoder(camera_port_0, output_port_0, 'jpeg', None, quality=self._jpeg_quality)
6162
camera_port_1, output_port_1 = self.camera._get_ports(True, 1)
6263
self.rgb_encoder = self.camera._get_image_encoder(camera_port_1, output_port_1, 'bgr', (160, 120))
6364
#print "g.1: " + str(ts - time.time())
@@ -100,7 +101,7 @@ def grab_start(self):
100101

101102
#ts = time.time()
102103
camera_port_0, output_port_0 = self.camera._get_ports(True, 0)
103-
self.jpeg_encoder = self.camera._get_image_encoder(camera_port_0, output_port_0, 'jpeg', None, quality=40)
104+
self.jpeg_encoder = self.camera._get_image_encoder(camera_port_0, output_port_0, 'jpeg', None, quality=self._jpeg_quality)
104105
camera_port_1, output_port_1 = self.camera._get_ports(True, 1)
105106
self.rgb_encoder = self.camera._get_image_encoder(camera_port_1, output_port_1, 'bgr', (160, 120))
106107

0 commit comments

Comments
 (0)