From c46c5ff8cb670a33723202f713823e2a35838592 Mon Sep 17 00:00:00 2001 From: Alex Taber Date: Fri, 8 Sep 2017 07:21:31 -0400 Subject: [PATCH 1/2] More CAMU stuff --- source/camera.c | 41 +++++++++++++---------------------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/source/camera.c b/source/camera.c index d10235e..b3735b4 100644 --- a/source/camera.c +++ b/source/camera.c @@ -32,33 +32,32 @@ #include "themes.h" u32 transfer_size; - -Handle events[2] = {0}; +Handle event; void init_qr(void) { camInit(); CAMU_SetSize(SELECT_OUT1_OUT2, SIZE_CTR_TOP_LCD, CONTEXT_A); CAMU_SetOutputFormat(SELECT_OUT1_OUT2, OUTPUT_RGB_565, CONTEXT_A); - CAMU_SetFrameRate(SELECT_OUT1_OUT2, FRAME_RATE_30); + CAMU_SetFrameRate(SELECT_OUT1_OUT2, FRAME_RATE_10); CAMU_SetNoiseFilter(SELECT_OUT1_OUT2, true); CAMU_SetAutoExposure(SELECT_OUT1_OUT2, true); CAMU_SetAutoWhiteBalance(SELECT_OUT1_OUT2, true); + CAMU_SetTrimming(PORT_CAM1, false); + CAMU_SetTrimming(PORT_CAM2, false); - CAMU_Activate(SELECT_OUT1_OUT2); - CAMU_GetBufferErrorInterruptEvent(&events[1], PORT_BOTH); - - CAMU_SetTrimming(PORT_BOTH, false); + buf = malloc(sizeof(u16) * 400 * 240 * 2); CAMU_GetMaxBytes(&transfer_size, 400, 240); CAMU_SetTransferBytes(PORT_BOTH, transfer_size, 400, 240); - CAMU_SynchronizeVsyncTiming(SELECT_OUT1, SELECT_OUT2); + + CAMU_Activate(SELECT_OUT1_OUT2); + event = 0; + CAMU_ClearBuffer(PORT_BOTH); - buf = malloc(sizeof(u16) * 400 * 240 * 2); - CAMU_SetReceiving(&events[0], buf, PORT_CAM1, 240 * 400 * 2, transfer_size); + CAMU_SynchronizeVsyncTiming(SELECT_OUT1, SELECT_OUT2); CAMU_StartCapture(PORT_BOTH); - context = quirc_new(); quirc_resize(context, 400, 240); @@ -66,7 +65,6 @@ void init_qr(void) void exit_qr(void) { - CAMU_Activate(PORT_NONE); CAMU_StopCapture(PORT_BOTH); CAMU_Activate(SELECT_NONE); camExit(); @@ -76,22 +74,9 @@ void exit_qr(void) void take_picture(void) { - s32 index; - svcWaitSynchronizationN(&index, events, 2, false, U64_MAX); - if (index == 0) - { - svcCloseHandle(events[0]); - events[0] = 0; - - CAMU_SetReceiving(&events[0], buf, PORT_CAM1, 240 * 400 * 2, transfer_size); - } else if (index == 1) - { - svcCloseHandle(events[1]); - events[1] = 0; - CAMU_ClearBuffer(PORT_BOTH); - CAMU_SetReceiving(&events[0], buf, PORT_CAM1, 240 * 400 * 2, transfer_size); - CAMU_StartCapture(PORT_BOTH); - } + CAMU_SetReceiving(&event, buf, PORT_CAM1, 240 * 400 * 2, transfer_size); + svcWaitSynchronization(event, U64_MAX); + svcCloseHandle(event); } /* From d3aa231c3f3eb5bd1fe58922d140900936d8eacc Mon Sep 17 00:00:00 2001 From: Alex Taber Date: Fri, 8 Sep 2017 15:59:32 -0400 Subject: [PATCH 2/2] Update pp2d --- source/pp2d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pp2d b/source/pp2d index 77d7b18..ee62165 160000 --- a/source/pp2d +++ b/source/pp2d @@ -1 +1 @@ -Subproject commit 77d7b18ec97ee9c83a77396098e425137d2dd70d +Subproject commit ee6216513a3ba87d616ae10a344ea5314bbdd106