test public
Dependencies: HttpServer_snapshot_mbed-os
mbed-gr-libs/EasyAttach_CameraAndLCD/EasyAttach_CameraAndLCD.h@0:e9fd5575b10e, 2019-10-18 (annotated)
- Committer:
- anhtran
- Date:
- Fri Oct 18 03:09:43 2019 +0000
- Revision:
- 0:e9fd5575b10e
abc
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
anhtran | 0:e9fd5575b10e | 1 | /* Copyright (c) 2017 dkato |
anhtran | 0:e9fd5575b10e | 2 | * SPDX-License-Identifier: Apache-2.0 |
anhtran | 0:e9fd5575b10e | 3 | * |
anhtran | 0:e9fd5575b10e | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
anhtran | 0:e9fd5575b10e | 5 | * you may not use this file except in compliance with the License. |
anhtran | 0:e9fd5575b10e | 6 | * You may obtain a copy of the License at |
anhtran | 0:e9fd5575b10e | 7 | * |
anhtran | 0:e9fd5575b10e | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
anhtran | 0:e9fd5575b10e | 9 | * |
anhtran | 0:e9fd5575b10e | 10 | * Unless required by applicable law or agreed to in writing, software |
anhtran | 0:e9fd5575b10e | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
anhtran | 0:e9fd5575b10e | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
anhtran | 0:e9fd5575b10e | 13 | * See the License for the specific language governing permissions and |
anhtran | 0:e9fd5575b10e | 14 | * limitations under the License. |
anhtran | 0:e9fd5575b10e | 15 | */ |
anhtran | 0:e9fd5575b10e | 16 | #ifndef EASY_ATTACH_CAMERA_AND_LCD_H |
anhtran | 0:e9fd5575b10e | 17 | #define EASY_ATTACH_CAMERA_AND_LCD_H |
anhtran | 0:e9fd5575b10e | 18 | |
anhtran | 0:e9fd5575b10e | 19 | #include "DisplayBace.h" |
anhtran | 0:e9fd5575b10e | 20 | |
anhtran | 0:e9fd5575b10e | 21 | // camera |
anhtran | 0:e9fd5575b10e | 22 | #if MBED_CONF_APP_CAMERA |
anhtran | 0:e9fd5575b10e | 23 | // camera-type |
anhtran | 0:e9fd5575b10e | 24 | #define CAMERA_CVBS 0x0001 |
anhtran | 0:e9fd5575b10e | 25 | #define CAMERA_MT9V111 0x0002 |
anhtran | 0:e9fd5575b10e | 26 | #define CAMERA_OV7725 0x0003 |
anhtran | 0:e9fd5575b10e | 27 | #define CAMERA_OV5642 0x0004 |
anhtran | 0:e9fd5575b10e | 28 | #define CAMERA_WIRELESS_CAMERA 0x0083 |
anhtran | 0:e9fd5575b10e | 29 | #define CAMERA_RASPBERRY_PI 0x2000 |
anhtran | 0:e9fd5575b10e | 30 | |
anhtran | 0:e9fd5575b10e | 31 | // shield-type |
anhtran | 0:e9fd5575b10e | 32 | #define SHIELD_AUDIO_CAMERA 1 |
anhtran | 0:e9fd5575b10e | 33 | #define SHIELD_WIRELESS_CAMERA 2 |
anhtran | 0:e9fd5575b10e | 34 | |
anhtran | 0:e9fd5575b10e | 35 | // camera module |
anhtran | 0:e9fd5575b10e | 36 | #define MODULE_VDC 0 |
anhtran | 0:e9fd5575b10e | 37 | #define MODULE_CEU 1 |
anhtran | 0:e9fd5575b10e | 38 | #define MODULE_MIPI 2 |
anhtran | 0:e9fd5575b10e | 39 | |
anhtran | 0:e9fd5575b10e | 40 | #ifndef MBED_CONF_APP_SHIELD_TYPE |
anhtran | 0:e9fd5575b10e | 41 | #if defined(TARGET_RZ_A1H) |
anhtran | 0:e9fd5575b10e | 42 | #if (MBED_CONF_APP_CAMERA_TYPE == CAMERA_WIRELESS_CAMERA) |
anhtran | 0:e9fd5575b10e | 43 | #define MBED_CONF_APP_SHIELD_TYPE SHIELD_WIRELESS_CAMERA |
anhtran | 0:e9fd5575b10e | 44 | #undef MBED_CONF_APP_CAMERA_TYPE |
anhtran | 0:e9fd5575b10e | 45 | #define MBED_CONF_APP_CAMERA_TYPE CAMERA_OV7725 |
anhtran | 0:e9fd5575b10e | 46 | #else |
anhtran | 0:e9fd5575b10e | 47 | #define MBED_CONF_APP_SHIELD_TYPE SHIELD_AUDIO_CAMERA |
anhtran | 0:e9fd5575b10e | 48 | #endif |
anhtran | 0:e9fd5575b10e | 49 | #endif |
anhtran | 0:e9fd5575b10e | 50 | #endif |
anhtran | 0:e9fd5575b10e | 51 | |
anhtran | 0:e9fd5575b10e | 52 | #ifndef MBED_CONF_APP_CAMERA_TYPE |
anhtran | 0:e9fd5575b10e | 53 | #if defined(TARGET_GR_LYCHEE) |
anhtran | 0:e9fd5575b10e | 54 | #define MBED_CONF_APP_CAMERA_TYPE CAMERA_OV7725 |
anhtran | 0:e9fd5575b10e | 55 | #elif defined(TARGET_RZ_A2M_EVB) || defined(TARGET_RZ_A2M_EVB_HF) || defined(TARGET_RZ_A2M_SBEV) || defined(TARGET_SEMB1402) |
anhtran | 0:e9fd5575b10e | 56 | #define MBED_CONF_APP_CAMERA_TYPE CAMERA_RASPBERRY_PI |
anhtran | 0:e9fd5575b10e | 57 | #else |
anhtran | 0:e9fd5575b10e | 58 | #define MBED_CONF_APP_CAMERA_TYPE CAMERA_MT9V111 |
anhtran | 0:e9fd5575b10e | 59 | #endif |
anhtran | 0:e9fd5575b10e | 60 | #endif |
anhtran | 0:e9fd5575b10e | 61 | |
anhtran | 0:e9fd5575b10e | 62 | #if (MBED_CONF_APP_CAMERA_TYPE == CAMERA_CVBS) && defined(TARGET_GR_LYCHEE) |
anhtran | 0:e9fd5575b10e | 63 | #error "MBED_CONF_APP_CAMERA_TYPE is not supported in this target." |
anhtran | 0:e9fd5575b10e | 64 | #endif |
anhtran | 0:e9fd5575b10e | 65 | |
anhtran | 0:e9fd5575b10e | 66 | #if ((MBED_CONF_APP_CAMERA_TYPE & 0x2000) != 0) |
anhtran | 0:e9fd5575b10e | 67 | #define CAMERA_MODULE MODULE_MIPI |
anhtran | 0:e9fd5575b10e | 68 | #elif defined(TARGET_RZ_A2M_EVB) || defined(TARGET_RZ_A2M_EVB_HF) || defined(TARGET_RZ_A2M_SBEV) || defined(TARGET_SEMB1402) |
anhtran | 0:e9fd5575b10e | 69 | #define CAMERA_MODULE MODULE_CEU |
anhtran | 0:e9fd5575b10e | 70 | #else |
anhtran | 0:e9fd5575b10e | 71 | #define CAMERA_MODULE MODULE_VDC |
anhtran | 0:e9fd5575b10e | 72 | #endif |
anhtran | 0:e9fd5575b10e | 73 | |
anhtran | 0:e9fd5575b10e | 74 | #if MBED_CONF_APP_CAMERA_TYPE == CAMERA_MT9V111 |
anhtran | 0:e9fd5575b10e | 75 | #include "MT9V111_config.h" |
anhtran | 0:e9fd5575b10e | 76 | #elif MBED_CONF_APP_CAMERA_TYPE == CAMERA_OV7725 |
anhtran | 0:e9fd5575b10e | 77 | #include "OV7725_config.h" |
anhtran | 0:e9fd5575b10e | 78 | #elif MBED_CONF_APP_CAMERA_TYPE == CAMERA_OV5642 |
anhtran | 0:e9fd5575b10e | 79 | #include "OV5642_config.h" |
anhtran | 0:e9fd5575b10e | 80 | #elif MBED_CONF_APP_CAMERA_TYPE == CAMERA_RASPBERRY_PI |
anhtran | 0:e9fd5575b10e | 81 | #include "RaspberryPi_config.h" |
anhtran | 0:e9fd5575b10e | 82 | #endif |
anhtran | 0:e9fd5575b10e | 83 | #endif |
anhtran | 0:e9fd5575b10e | 84 | |
anhtran | 0:e9fd5575b10e | 85 | // lcd |
anhtran | 0:e9fd5575b10e | 86 | #if MBED_CONF_APP_LCD |
anhtran | 0:e9fd5575b10e | 87 | // lcd-type |
anhtran | 0:e9fd5575b10e | 88 | #define GR_PEACH_4_3INCH_SHIELD 0x0000 |
anhtran | 0:e9fd5575b10e | 89 | #define GR_PEACH_7_1INCH_SHIELD 0x0001 |
anhtran | 0:e9fd5575b10e | 90 | #define GR_PEACH_RSK_TFT 0x0002 |
anhtran | 0:e9fd5575b10e | 91 | #define GR_PEACH_DISPLAY_SHIELD 0x0100 |
anhtran | 0:e9fd5575b10e | 92 | #define GR_LYCHEE_TF043HV001A0 0x1000 |
anhtran | 0:e9fd5575b10e | 93 | #define GR_LYCHEE_ATM0430D25 0x1001 |
anhtran | 0:e9fd5575b10e | 94 | #define GR_LYCHEE_FG040346DSSWBG03 0x1002 |
anhtran | 0:e9fd5575b10e | 95 | #define RZ_A2M_LVDS_TO_HDMI 0x2000 |
anhtran | 0:e9fd5575b10e | 96 | #define RZ_A2M_EVB_RSK_TFT 0x2100 |
anhtran | 0:e9fd5575b10e | 97 | #define RZ_A2M_DVI_STICK 0x2101 |
anhtran | 0:e9fd5575b10e | 98 | |
anhtran | 0:e9fd5575b10e | 99 | #define GR_LYCHEE_LCD GR_LYCHEE_TF043HV001A0 |
anhtran | 0:e9fd5575b10e | 100 | |
anhtran | 0:e9fd5575b10e | 101 | #ifndef MBED_CONF_APP_LCD_TYPE |
anhtran | 0:e9fd5575b10e | 102 | #if defined(TARGET_RZ_A1H) |
anhtran | 0:e9fd5575b10e | 103 | #define MBED_CONF_APP_LCD_TYPE GR_PEACH_4_3INCH_SHIELD |
anhtran | 0:e9fd5575b10e | 104 | #elif defined(TARGET_GR_LYCHEE) |
anhtran | 0:e9fd5575b10e | 105 | #define MBED_CONF_APP_LCD_TYPE GR_LYCHEE_LCD |
anhtran | 0:e9fd5575b10e | 106 | #elif defined(TARGET_RZ_A2M_EVB) || defined(TARGET_RZ_A2M_EVB_HF) |
anhtran | 0:e9fd5575b10e | 107 | #define MBED_CONF_APP_LCD_TYPE RZ_A2M_DVI_STICK |
anhtran | 0:e9fd5575b10e | 108 | #elif defined(TARGET_RZ_A2M_SBEV) || defined(TARGET_SEMB1402) |
anhtran | 0:e9fd5575b10e | 109 | #define MBED_CONF_APP_LCD_TYPE RZ_A2M_LVDS_TO_HDMI |
anhtran | 0:e9fd5575b10e | 110 | #endif |
anhtran | 0:e9fd5575b10e | 111 | #endif |
anhtran | 0:e9fd5575b10e | 112 | |
anhtran | 0:e9fd5575b10e | 113 | #if defined(TARGET_RZ_A1H) && ((MBED_CONF_APP_LCD_TYPE & 0xF000) != 0x0000) |
anhtran | 0:e9fd5575b10e | 114 | #error "MBED_CONF_APP_LCD_TYPE is not supported in this target." |
anhtran | 0:e9fd5575b10e | 115 | #endif |
anhtran | 0:e9fd5575b10e | 116 | #if defined(TARGET_GR_LYCHEE) && ((MBED_CONF_APP_LCD_TYPE & 0xF000) != 0x1000) |
anhtran | 0:e9fd5575b10e | 117 | #error "MBED_CONF_APP_LCD_TYPE is not supported in this target." |
anhtran | 0:e9fd5575b10e | 118 | #endif |
anhtran | 0:e9fd5575b10e | 119 | |
anhtran | 0:e9fd5575b10e | 120 | #if MBED_CONF_APP_LCD_TYPE == GR_PEACH_4_3INCH_SHIELD |
anhtran | 0:e9fd5575b10e | 121 | #include "LCD_shield_config_4_3inch.h" |
anhtran | 0:e9fd5575b10e | 122 | #elif MBED_CONF_APP_LCD_TYPE == GR_PEACH_7_1INCH_SHIELD |
anhtran | 0:e9fd5575b10e | 123 | #include "LCD_shield_config_7_1inch.h" |
anhtran | 0:e9fd5575b10e | 124 | #elif MBED_CONF_APP_LCD_TYPE == GR_PEACH_RSK_TFT |
anhtran | 0:e9fd5575b10e | 125 | #include "LCD_shield_config_RSK_TFT.h" |
anhtran | 0:e9fd5575b10e | 126 | #elif MBED_CONF_APP_LCD_TYPE == GR_PEACH_DISPLAY_SHIELD |
anhtran | 0:e9fd5575b10e | 127 | #include "Display_shield_config.h" |
anhtran | 0:e9fd5575b10e | 128 | #elif MBED_CONF_APP_LCD_TYPE == GR_LYCHEE_TF043HV001A0 |
anhtran | 0:e9fd5575b10e | 129 | #include "LCD_config_TF043HV001A0.h" |
anhtran | 0:e9fd5575b10e | 130 | #elif MBED_CONF_APP_LCD_TYPE == GR_LYCHEE_ATM0430D25 |
anhtran | 0:e9fd5575b10e | 131 | #include "LCD_config_ATM0430D25.h" |
anhtran | 0:e9fd5575b10e | 132 | #elif MBED_CONF_APP_LCD_TYPE == GR_LYCHEE_FG040346DSSWBG03 |
anhtran | 0:e9fd5575b10e | 133 | #include "LCD_config_FG040346DSSWBG03.h" |
anhtran | 0:e9fd5575b10e | 134 | #elif MBED_CONF_APP_LCD_TYPE == RZ_A2M_LVDS_TO_HDMI |
anhtran | 0:e9fd5575b10e | 135 | #include "LCD_config_lvds_to_hdmi.h" |
anhtran | 0:e9fd5575b10e | 136 | #elif MBED_CONF_APP_LCD_TYPE == RZ_A2M_EVB_RSK_TFT |
anhtran | 0:e9fd5575b10e | 137 | #include "LCD_config_RSK_TFT.h" |
anhtran | 0:e9fd5575b10e | 138 | #elif MBED_CONF_APP_LCD_TYPE == RZ_A2M_DVI_STICK |
anhtran | 0:e9fd5575b10e | 139 | #include "LCD_config_DVI_Stick.h" |
anhtran | 0:e9fd5575b10e | 140 | #else |
anhtran | 0:e9fd5575b10e | 141 | #error "No lcd chosen. Please add 'config.lcd-type.value' to your mbed_app.json (see README.md for more information)." |
anhtran | 0:e9fd5575b10e | 142 | #endif |
anhtran | 0:e9fd5575b10e | 143 | #endif |
anhtran | 0:e9fd5575b10e | 144 | |
anhtran | 0:e9fd5575b10e | 145 | extern DisplayBase::graphics_error_t EasyAttach_Init( |
anhtran | 0:e9fd5575b10e | 146 | DisplayBase& Display, |
anhtran | 0:e9fd5575b10e | 147 | uint16_t cap_width = 0, |
anhtran | 0:e9fd5575b10e | 148 | uint16_t cap_height = 0 |
anhtran | 0:e9fd5575b10e | 149 | ); |
anhtran | 0:e9fd5575b10e | 150 | |
anhtran | 0:e9fd5575b10e | 151 | extern DisplayBase::graphics_error_t EasyAttach_CameraStart( |
anhtran | 0:e9fd5575b10e | 152 | DisplayBase& Display, |
anhtran | 0:e9fd5575b10e | 153 | DisplayBase::video_input_channel_t channel = DisplayBase::VIDEO_INPUT_CHANNEL_0 |
anhtran | 0:e9fd5575b10e | 154 | ); |
anhtran | 0:e9fd5575b10e | 155 | |
anhtran | 0:e9fd5575b10e | 156 | extern void EasyAttach_SetTypicalBacklightVol(float typ_vol); |
anhtran | 0:e9fd5575b10e | 157 | |
anhtran | 0:e9fd5575b10e | 158 | extern void EasyAttach_LcdBacklight(bool type = true); |
anhtran | 0:e9fd5575b10e | 159 | |
anhtran | 0:e9fd5575b10e | 160 | extern void EasyAttach_LcdBacklight(float value); |
anhtran | 0:e9fd5575b10e | 161 | |
anhtran | 0:e9fd5575b10e | 162 | #endif |