1 /* 2 * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef APP_DEMO_CONFIG_H 17 #define APP_DEMO_CONFIG_H 18 19 #define SEND_OLED_FILL_SCRRENC_CMD ((unsigned char)0x0) 20 #define SEND_CMD_LEN (8) 21 22 #define OLED_X_POSITION_0 (0) 23 #define OLED_X_POSITION_15 (15) 24 #define OLED_X_POSITION_16 (16) 25 #define OLED_X_POSITION_18 (18) 26 #define OLED_X_POSITION_40 (40) 27 #define OLED_X_POSITION_48 (48) 28 #define OLED_X_POSITION_56 (56) 29 #define OLED_X_POSITION_60 (60) 30 #define OLED_X_POSITION_81 (81) 31 #define OLED_X_POSITION_120 (120) 32 33 #define OLED_Y_POSITION_0 ((unsigned char)0x0) 34 #define OLED_Y_POSITION_1 ((unsigned char)0x1) 35 #define OLED_Y_POSITION_2 ((unsigned char)0x2) 36 #define OLED_Y_POSITION_3 ((unsigned char)0x3) 37 #define OLED_Y_POSITION_4 ((unsigned char)0x4) 38 #define OLED_Y_POSITION_5 ((unsigned char)0x5) 39 #define OLED_Y_POSITION_6 ((unsigned char)0x6) 40 #define OLED_Y_POSITION_7 ((unsigned char)0x7) 41 42 #define OLED_DISPLAY_STRING_TYPE_1 (1) 43 #define OLED_DISPLAY_STRING_TYPE_16 (16) 44 45 typedef enum { 46 TIME_COUNT_0 = 0, 47 TIME_COUNT_1, 48 TIME_COUNT_2, 49 TIME_COUNT_3, 50 TIME_COUNT_4, 51 TIME_COUNT_5, 52 TIME_COUNT_6 53 }TimeCountEnv; 54 55 typedef struct LightTimer { 56 int Timer1Status; 57 int Timer1Count; 58 int Timer2Status; 59 int Timer2Count; 60 int Timer3Status; 61 int Timer3Count; 62 int Timer4Status; 63 int Timer4Count; 64 int Timer5Status; 65 int Timer5Count; 66 int Timer6Status; 67 int Timer6Count; 68 int Timer7Status; 69 int Timer7Count; 70 int Timer8Status; 71 int Timer8Count; 72 int Timer9Status; 73 int Timer9Count; 74 int Timer10Status; 75 int Timer10Count; 76 int TimerRedLightStatus; 77 int TimerYellowLightStatus; 78 int TimerGreenLightStatus; 79 int HumanTimerRedLightStatus; 80 int HumanTimerYellowLightStatus; 81 int HumanTimerGreenLightStatus; 82 }LightTimerCfg; 83 84 typedef struct { 85 int timer1Count; 86 int timer2Count; 87 }TimerMsg; 88 89 typedef struct { 90 unsigned int g_redLedAutoModuTimeCount; 91 unsigned int g_yellowLedAutoModuTimeCount; 92 unsigned int g_greenLedAutoModuTimeCount; 93 unsigned int g_redLedHumanModuTimeCount; 94 unsigned int g_yellowLedHumanModuTimeCount; 95 unsigned int g_greenLedHumanModuTimeCount; 96 }TrafficLedStatusType; 97 98 unsigned char DelayAndFreshScreen(unsigned int delayTime, unsigned char beepStatus); 99 void TrafficAutoModeSample(void); 100 void TrafficNormalType(void); 101 void TrafficHumanType(void); 102 void TrafficHumanModeSample(void); 103 void TrafficLightFunc(void); 104 void SoftwareTimersTaskEntry(void); 105 unsigned char SetTimeCount(unsigned char setTimeCount); 106 #endif