// Copyright 2020-2021 Beken // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include #include "slcd_ll_macro_def.h" #include #include "bk_misc.h" void slcd_hal_soft_reset(void) { slcd_ll_set_clk_control_soft_reset(0); delay_us(10); slcd_ll_set_clk_control_soft_reset(1); delay_us(10); } void slcd_hal_lcd_on(void) { slcd_ll_set_ctrl_reg_lcd_on(0x1); } void slcd_hal_lcd_off(void) { slcd_ll_set_ctrl_reg_lcd_on(0); } void slcd_hal_set_com_number(slcd_com_num_t com_num) { slcd_ll_set_ctrl_reg_com_number(com_num); } void slcd_hal_set_lcd_bias(slcd_bias_t lcd_bias) { slcd_ll_set_ctrl_reg_lcd_bias(lcd_bias); } void slcd_hal_set_lcd_rate(slcd_rate_t rate_value) { slcd_ll_set_ctrl_reg_lcd_rate(rate_value); } void slcd_hal_set_seg_value(slcd_seg_id_t seg_id, uint8_t value) { switch(seg_id) { case SLCD_SEG_0: slcd_ll_set_seg00_03_seg00(value); break; case SLCD_SEG_1: slcd_ll_set_seg00_03_seg01(value); break; case SLCD_SEG_2: slcd_ll_set_seg00_03_seg02(value); break; case SLCD_SEG_3: slcd_ll_set_seg00_03_seg03(value); break; case SLCD_SEG_4: slcd_ll_set_seg04_07_seg04(value); break; case SLCD_SEG_5: slcd_ll_set_seg04_07_seg05(value); break; case SLCD_SEG_6: slcd_ll_set_seg04_07_seg06(value); break; case SLCD_SEG_7: slcd_ll_set_seg04_07_seg07(value); break; case SLCD_SEG_8: slcd_ll_set_seg08_11_seg08(value); break; case SLCD_SEG_9: slcd_ll_set_seg08_11_seg09(value); break; case SLCD_SEG_10: slcd_ll_set_seg08_11_seg10(value); break; case SLCD_SEG_11: slcd_ll_set_seg08_11_seg11(value); break; case SLCD_SEG_12: slcd_ll_set_seg12_15_seg12(value); break; case SLCD_SEG_13: slcd_ll_set_seg12_15_seg13(value); break; case SLCD_SEG_14: slcd_ll_set_seg12_15_seg14(value); break; case SLCD_SEG_15: slcd_ll_set_seg12_15_seg15(value); break; case SLCD_SEG_16: slcd_ll_set_seg16_19_seg16(value); break; case SLCD_SEG_17: slcd_ll_set_seg16_19_seg17(value); break; case SLCD_SEG_18: slcd_ll_set_seg16_19_seg18(value); break; case SLCD_SEG_19: slcd_ll_set_seg16_19_seg19(value); break; case SLCD_SEG_20: slcd_ll_set_seg20_23_seg20(value); break; case SLCD_SEG_21: slcd_ll_set_seg20_23_seg21(value); break; case SLCD_SEG_22: slcd_ll_set_seg20_23_seg22(value); break; case SLCD_SEG_23: slcd_ll_set_seg20_23_seg23(value); break; case SLCD_SEG_24: slcd_ll_set_seg24_27_seg24(value); break; case SLCD_SEG_25: slcd_ll_set_seg24_27_seg25(value); break; case SLCD_SEG_26: slcd_ll_set_seg24_27_seg26(value); break; case SLCD_SEG_27: slcd_ll_set_seg24_27_seg27(value); break; case SLCD_SEG_28: slcd_ll_set_seg28_31_seg28(value); break; case SLCD_SEG_29: slcd_ll_set_seg28_31_seg29(value); break; case SLCD_SEG_30: slcd_ll_set_seg28_31_seg30(value); break; case SLCD_SEG_31: slcd_ll_set_seg28_31_seg31(value); break; } } void slcd_hal_set_seg00_03_value(uint32_t value) { slcd_ll_set_seg00_03_value(value); } void slcd_hal_set_seg04_07_value(uint32_t value) { slcd_ll_set_seg04_07_value(value); } void slcd_hal_set_seg08_11_value(uint32_t value) { slcd_ll_set_seg08_11_value(value); } void slcd_hal_set_seg12_15_value(uint32_t value) { slcd_ll_set_seg12_15_value(value); } void slcd_hal_set_seg16_19_value(uint32_t value) { slcd_ll_set_seg16_19_value(value); } void slcd_hal_set_seg20_23_value(uint32_t value) { slcd_ll_set_seg20_23_value(value); } void slcd_hal_set_seg24_27_value(uint32_t value) { slcd_ll_set_seg24_27_value(value); } void slcd_hal_set_seg28_31_value(uint32_t value) { slcd_ll_set_seg28_31_value(value); }