Skip to content

Commit 1eecc17

Browse files
committed
v1 feature parity #73
1 parent d221839 commit 1eecc17

File tree

2 files changed

+128
-45
lines changed

2 files changed

+128
-45
lines changed

src/components/Settings.vue

Lines changed: 115 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,62 @@
204204
</v-layout>
205205
</v-container>
206206
</v-tab-item>
207+
<v-tab-item>
208+
<v-container grid-list-md text-xs-center>
209+
<v-layout row wrap>
210+
<!-- Column A -->
211+
<v-flex xs12 md6 offset-md3>
212+
<h3 class="text-xs-left">{{ $t('message.settings_camera_title') }}</h3>
213+
<v-card>
214+
<div class="cardContent">
215+
<v-select
216+
v-model="settings.camera_exposure_mode"
217+
:items="cameraExposureModes"
218+
item-text="text"
219+
item-value="key"
220+
v-bind:label="$t('message.settings_camera_exposure_mode')"
221+
single-line
222+
></v-select>
223+
{{ $t("message.settings_camera_framerate") }}:
224+
<span v-text="settings.camera_framerate"></span>
225+
<v-slider v-model="settings.camera_framerate" min="5" max="30" step="5" />
226+
{{ $t("message.settings_camera_jpeg_bitrate") }}:
227+
<span v-text="settings.camera_jpeg_bitrate"></span>
228+
<v-slider v-model="settings.camera_jpeg_bitrate" min="1000000" max="10000000" step="1000000"
229+
v-bind:label="$t('message.settings_camera_jpeg_bitrate')" />
230+
{{ $t("message.settings_camera_jpeg_quality") }}:
231+
<span v-text="settings.camera_jpeg_quality"></span>
232+
<v-slider v-model="settings.camera_jpeg_quality" min="1" max="100" step="1"
233+
v-bind:label="$t('message.settings_camera_jpeg_quality')" />
234+
</div>
235+
</v-card>
236+
<br><br>
237+
<h3 class="text-xs-left">{{ $t('message.settings_camera_cv_title') }}</h3>
238+
<v-card>
239+
<div class="cardContent">
240+
{{ $t("message.settings_camera_cv_image_factor") }}:
241+
<span v-text="settings.cv_image_factor"></span>
242+
<v-slider v-model="settings.cv_image_factor" min="1" max="4" step="1" />
243+
<v-text-field v-model="settings.camera_color_object_size_max"
244+
v-bind:label="$t('message.settings_camera_color_object_size_max')" />
245+
<v-text-field v-model="settings.camera_color_object_size_min"
246+
v-bind:label="$t('message.settings_camera_color_object_size_min')" />
247+
<v-text-field v-model="settings.camera_path_object_size_max"
248+
v-bind:label="$t('message.settings_camera_path_object_size_max')" />
249+
<v-text-field v-model="settings.camera_path_object_size_min"
250+
v-bind:label="$t('message.settings_camera_path_object_size_min')" />
251+
<v-select
252+
v-model="settings.cnn_default_model"
253+
:items="cnnModels"
254+
item-text="text"
255+
item-value="key"
256+
v-bind:label="$t('message.settings_camera_cnn_default_model')" />
257+
</div>
258+
</v-card>
259+
</v-flex>
260+
</v-layout>
261+
</v-container>
262+
</v-tab-item>
207263
<v-tab-item>
208264
<v-container grid-list-md text-xs-center>
209265
<v-layout row wrap>
@@ -507,14 +563,7 @@
507563
</v-layout>
508564
</v-container>
509565
</v-tab-item>
510-
511566
</v-tabs-items>
512-
<!--</template>
513-
<template v-else>
514-
<br>
515-
In attesa che CoderBot torni online...<br>
516-
<v-icon large>signal_wifi_off</v-icon>
517-
</template>-->
518567
</v-main>
519568
<!-- Notification Snackbar -->
520569
<v-snackbar v-model="snackbar">
@@ -542,6 +591,7 @@ export default {
542591
this.getInfoAndStatus();
543592
this.prepopulate();
544593
this.loadMusicPackages();
594+
this.loadCNNModels();
545595
},
546596
methods: {
547597
pickFile() {
@@ -572,6 +622,18 @@ export default {
572622
});
573623
});
574624
},
625+
loadCNNModels() {
626+
this.$axios.get(`${this.CB}/listCNNModels`).then((result) => {
627+
this.cnnModels = [];
628+
const cnn_models = JSON.parse(result.data);
629+
Object.entries(cnn_models).forEach((entry) => {
630+
console.log(entry);
631+
const model_key = entry[0];
632+
// const model_data = entry[1];
633+
this.cnnModels.push({ key: model_key, text: model_key });
634+
});
635+
});
636+
},
575637
uploadPackage() {
576638
/*
577639
const qs = this.$qs;
@@ -766,47 +828,21 @@ export default {
766828
const data = this.settings;
767829
console.log(response.data);
768830
const remoteConfig = response.data;
769-
/*
770-
button_func: "none"
771-
camera_color_object_size_max: "160000"
772-
camera_color_object_size_min: "4000"
773-
camera_exposure_mode: "auto"
774-
camera_framerate: "30"
775-
camera_jpeg_bitrate: "1000000"
776-
camera_jpeg_quality: "5"
777-
camera_path_object_size_max: "160000"
778-
camera_path_object_size_min: "4000"
779-
cnn_default_model: ""
780-
ctrl_fw_elapse: "-1"
781-
ctrl_fw_speed: "99"
782-
ctrl_hud_image: ""
783-
ctrl_tr_elapse: "-1"
784-
ctrl_tr_speed: "80"
785-
cv_image_factor: "2"
786-
load_at_start: ""
787-
move_fw_elapse: "1"
788-
move_fw_speed: "100"
789-
move_motor_mode: "dc"
790-
move_motor_trim: "1"
791-
move_power_angle_1: "45"
792-
move_power_angle_2: "60"
793-
move_power_angle_3: "60"
794-
move_tr_elapse: "0.5"
795-
move_tr_speed: "85"
796-
prog_level: "adv"
797-
prog_maxblocks: "-1"
798-
prog_scrollbars: "true"
799-
show_control_move_commands: "true"
800-
show_page_control: "true"
801-
show_page_prefs: "true"
802-
show_page_program: "true"
803-
sound_shutter: "$shutter.mp3"
804-
sound_start: "$startup.mp3"
805-
sound_stop: "$shutdown.mp3"
806-
*/
807831
data.power = [remoteConfig.move_power_angle_1, remoteConfig.move_power_angle_2, remoteConfig
808832
.move_power_angle_3
809833
];
834+
data.ctrl_hud_image = remoteConfig.ctrl_hud_image;
835+
data.cv_image_factor = remoteConfig.cv_image_factor;
836+
data.camera_color_object_size_max = remoteConfig.camera_color_object_size_max;
837+
data.camera_color_object_size_min = remoteConfig.camera_color_object_size_min;
838+
data.camera_exposure_mode = remoteConfig.camera_exposure_mode;
839+
data.camera_framerate = remoteConfig.camera_framerate;
840+
data.camera_jpeg_bitrate = remoteConfig.camera_jpeg_bitrate;
841+
data.camera_jpeg_quality = remoteConfig.camera_jpeg_quality;
842+
data.camera_path_object_size_max = remoteConfig.camera_path_object_size_max;
843+
data.camera_path_object_size_min = remoteConfig.camera_path_object_size_min;
844+
data.cnn_default_model = remoteConfig.cnn_default_model;
845+
data.prog_maxblocks = remoteConfig.prog_maxblocks;
810846
data.btnFun = remoteConfig.button_func;
811847
data.wifiMode = remoteConfig.wifi_mode;
812848
data.wifiSSID = remoteConfig.wifi_ssid;
@@ -840,6 +876,18 @@ export default {
840876
const data = this.settings;
841877
if (selectedTab != 4) {
842878
const legacySettings = qs.stringify({
879+
ctrl_hud_image: data.ctrl_hud_image,
880+
cv_image_factor: data.cv_image_factor,
881+
camera_color_object_size_max: data.camera_color_object_size_max,
882+
camera_color_object_size_min: data.camera_color_object_size_min,
883+
camera_exposure_mode: data.camera_exposure_mode,
884+
camera_framerate: data.camera_framerate,
885+
camera_jpeg_bitrate: data.camera_jpeg_bitrate,
886+
camera_jpeg_quality: data.camera_jpeg_quality,
887+
camera_path_object_size_max: data.camera_path_object_size_max,
888+
camera_path_object_size_min: data.camera_path_object_size_min,
889+
cnn_default_model: data.cnn_default_model,
890+
prog_maxblocks: data.prog_maxblocks,
843891
wifi_mode: data.wifiMode,
844892
wifi_ssid: data.wifiSSID,
845893
wifi_psk: data.wifiPsw,
@@ -920,6 +968,18 @@ export default {
920968
updateStatus: 0,
921969
// TODO: Prepopulate this
922970
settings: {
971+
ctrl_hud_image: null,
972+
cv_image_factor: null,
973+
camera_color_object_size_max: null,
974+
camera_color_object_size_min: null,
975+
camera_exposure_mode: null,
976+
camera_framerate: null,
977+
camera_jpeg_bitrate: null,
978+
camera_jpeg_quality: null,
979+
camera_path_object_size_max: null,
980+
camera_path_object_size_min: null,
981+
cnn_default_model: null,
982+
prog_maxblocks: null,
923983
924984
cbName: 'CoderBot',
925985
power: [null, null, null],
@@ -991,13 +1051,23 @@ export default {
9911051
tabs: [
9921052
this.$i18n.t('message.settings_tabs_general'),
9931053
this.$i18n.t('message.settings_tabs_movement'),
1054+
this.$i18n.t('message.settings_tabs_camera'),
9941055
this.$i18n.t('message.settings_tabs_sounds'),
9951056
this.$i18n.t('message.settings_tabs_advanced'),
9961057
this.$i18n.t('message.settings_tabs_network'),
9971058
this.$i18n.t('message.settings_tabs_test'),
9981059
this.$i18n.t('message.settings_tabs_audio'),
9991060
this.$i18n.t('message.settings_tabs_music_packages')
10001061
],
1062+
cameraExposureModes: [
1063+
{ text: 'Auto', key: 'auto' },
1064+
{ text: 'Sports', key: 'sports' },
1065+
{ text: 'Night', key: 'night' },
1066+
{ text: 'Fixed FPS', key: 'fixedfps' },
1067+
{ text: 'Anti shake', key: 'antishake' },
1068+
{ text: 'Very long', key: 'verylong' }
1069+
],
1070+
cnnModels: []
10011071
};
10021072
},
10031073
};

src/i18n/locales/it/messages.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,18 @@
143143
"settings_component_test_speaker": "Altoparlante",
144144
"settings_component_test_sonar": "Sensore distanza (sonar)",
145145
"settings_component_test_ocr": "Riconoscimento Testo",
146+
"settings_camera_title": "Camera settings",
147+
"settings_camera_cv_title": "Visione artificiale",
148+
"settings_camera_exposure_mode": "Modalità esposizione",
149+
"settings_camera_framerate": "Frame per secondo",
150+
"settings_camera_jpeg_bitrate": "Bitrate immagine (compressione jpeg)",
151+
"settings_camera_jpeg_quality": "Qualità immagine (compressione jpeg)",
152+
"settings_camera_cv_image_factor": "Fattore di scala per visione artificiale",
153+
"settings_camera_color_object_size_max": "Dimensione massima (pixel) ricerca oggetto per colore",
154+
"settings_camera_color_object_size_min": "Dimensione minima (pixel) ricerca oggetto per colore",
155+
"settings_camera_path_object_size_max": "Dimensione massima (pixel) riconoscimento ostacolo",
156+
"settings_camera_path_object_size_min": "Dimensione minima (pixel) riconoscimento ostacolo",
157+
"settings_camera_cnn_default_model": "Rete neurale riconoscimento oggetti: modello di default",
146158
"settings_audio_title": "Audio settings",
147159
"settings_audio_volume": "Volume:",
148160
"settings_music_packages_title": "Gestione Pacchetti",
@@ -162,6 +174,7 @@
162174
"settings_tabs_advanced": "Avanzate",
163175
"settings_tabs_network": "Rete",
164176
"settings_tabs_test": "Test",
177+
"settings_tabs_camera": "Camera",
165178
"settings_tabs_audio": "Audio",
166179
"settings_tabs_music_packages": "Pacchetti Musica",
167180
"settings_music_packages": "Gestione Pacchetti",

0 commit comments

Comments
 (0)