29 lines
661 B
C
29 lines
661 B
C
|
#include "stm32h7xx_hal.h"
|
||
|
|
||
|
#include "otm_lcd_impl.h"
|
||
|
|
||
|
#define LCD_REGISTER_ADDR 0x60000000
|
||
|
#define LCD_DATA_ADDR 0x60020000
|
||
|
|
||
|
otm_ret_t _otm_impl_write_reg(void *handle, otm_data_t *reg, uint8_t len) {
|
||
|
*(uint16_t *)LCD_REGISTER_ADDR = *reg;
|
||
|
for(uint8_t i = 1; i < len; i++) {
|
||
|
*(uint16_t *)LCD_DATA_ADDR = reg[i];
|
||
|
}
|
||
|
|
||
|
return OTM_OK;
|
||
|
}
|
||
|
|
||
|
otm_ret_t _otm_impl_write_data(void *handle, otm_data_t *data, uint32_t len) {
|
||
|
for(uint32_t i = 0; i < len; i++){
|
||
|
*(uint16_t *)LCD_DATA_ADDR = data[i];
|
||
|
}
|
||
|
|
||
|
return OTM_OK;
|
||
|
}
|
||
|
|
||
|
otm_ret_t _otm_impl_delay(void *handle, uint32_t usec) {
|
||
|
HAL_Delay(usec / 1000);
|
||
|
|
||
|
return OTM_OK;
|
||
|
}
|