@@ -288,7 +288,6 @@ static void jade_camera_init(void)
288
288
289
289
sensor_t * camera_sensor = esp_camera_sensor_get ();
290
290
JADE_ASSERT (camera_sensor );
291
- JADE_ASSERT (camera_sensor -> set_hmirror );
292
291
293
292
camera_sensor_info_t * camera_info = esp_camera_sensor_get_info (& camera_sensor -> id );
294
293
JADE_ASSERT (camera_info );
@@ -299,12 +298,22 @@ static void jade_camera_init(void)
299
298
300
299
// GC0308 appears to need image flipping on both axes
301
300
if (camera_info -> model == CAMERA_GC0308 ) {
301
+ JADE_ASSERT (camera_sensor -> set_hmirror );
302
+ JADE_ASSERT (camera_sensor -> set_vflip );
302
303
const int hret = camera_sensor -> set_hmirror (camera_sensor , 1 );
303
304
const int vret = camera_sensor -> set_vflip (camera_sensor , 1 );
304
305
if (hret || vret ) {
305
306
JADE_LOGE ("Failed to set camera hmirror/vflip, returned: %d/%d" , hret , vret );
306
307
}
307
308
}
309
+ // OV5640 needs vertical flip for T-Display S3 PRO
310
+ else if (camera_info -> model == CAMERA_OV5640 ) {
311
+ JADE_ASSERT (camera_sensor -> set_vflip );
312
+ const int vret = camera_sensor -> set_vflip (camera_sensor , 1 );
313
+ if (vret ) {
314
+ JADE_LOGE ("Failed to set camera vflip, returned: %d" , vret );
315
+ }
316
+ }
308
317
#if defined(CONFIG_DISPLAY_TOUCHSCREEN )
309
318
touchscreen_deinit ();
310
319
touchscreen_init ();
0 commit comments