Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit2beeab8a7a5992b2276da5197169dc68e836f6c9 (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-05-24 13:00:29 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-05-24 13:00:48 +0300
Filesfbea17bec86a41adcbbb8c5d95b32c50d31cd9ee
uni-projects-2beeab8a7a5992b2276da5197169dc68e836f6c9.tar
uni-projects-2beeab8a7a5992b2276da5197169dc68e836f6c9.tar.gz
uni-projects-2beeab8a7a5992b2276da5197169dc68e836f6c9.zip
Parent0b083af2d50402a014349dd4ca6eb2d4337aca1e (diff)
(iot/goam/display) Added error checks and moved bitpixel letters into bitpixel_chars directly, added custom camera +/- characters
2 files changed, 153 insertions, 145 deletions
-rw-r--r--Year 3/Internet of things/goam/main/display.c9
-rw-r--r--Year 3/Internet of things/goam/main/ibm-vga-8x16.c289
diff --git a/Year 3/Internet of things/goam/main/display.c b/Year 3/Internet of things/goam/main/display.c
index 5e66984..025c85e 100644
--- a/Year 3/Internet of things/goam/main/display.c
+++ b/Year 3/Internet of things/goam/main/display.c
@@ -27,8 +27,8 @@ static void i2c_init() {
.scl_pullup_en = GPIO_PULLUP_ENABLE,
.master.clk_speed = 400000, // 400kHz; has to be at least 385kHz
};
- i2c_param_config(I2C_NUM_0, &conf);
- i2c_driver_install(I2C_NUM_0, I2C_MODE_MASTER, 0, 0, 0);
+ ESP_ERROR_CHECK(i2c_param_config(I2C_NUM_0, &conf));
+ ESP_ERROR_CHECK(i2c_driver_install(I2C_NUM_0, I2C_MODE_MASTER, 0, 0, 0));
/* i2c_set_start_timing(I2C_NUM_0, 10, 10); */
}
@@ -92,11 +92,12 @@ static const unsigned char startup[] = {
void display_init() {
i2c_init();
send(CMD_STREAM, startup, sizeof(startup));
- ESP_LOGI(TAG, "Initialized display");
+ display_output_beginning();
display_println(" ");
display_println(" ");
display_println(" ");
display_println(" ");
+ ESP_LOGI(TAG, "Initialized display");
}
void display_invertion(enum Inversion inv_byte) {
@@ -107,7 +108,7 @@ void display_invertion(enum Inversion inv_byte) {
// with compile flags
extern const unsigned bitpixel_char_height;
extern const unsigned bitpixel_char_width;
-extern const uint8_t* bitpixel_chars[256];
+extern const uint8_t bitpixel_chars[256][16];
unsigned char out_page_row[LAST_COL + 1];
diff --git a/Year 3/Internet of things/goam/main/ibm-vga-8x16.c b/Year 3/Internet of things/goam/main/ibm-vga-8x16.c
index 7c88790..e804225 100644
--- a/Year 3/Internet of things/goam/main/ibm-vga-8x16.c
+++ b/Year 3/Internet of things/goam/main/ibm-vga-8x16.c
@@ -6,134 +6,168 @@ const unsigned bitpixel_char_height = 16;
#define COL(col) (0b ## col) & 0xFF, (0b ## col) >> 8,
-const uint8_t space[16] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
-};
+const uint8_t bitpixel_chars[256][16] = {
+ ['0'] = {
+ COL(0000011111110000)
+ COL(0000111111111000)
+ COL(0000100110001000)
+ COL(0000100011001000)
+ COL(0000100001101000)
+ COL(0000111111111000)
+ COL(0000011111110000)
+ COL(0000000000000000)
+ },
+ ['1'] = {
+ COL(0000000000000000)
+ COL(0000100000100000)
+ COL(0000100000110000)
+ COL(0000111111111000)
+ COL(0000111111111000)
+ COL(0000100000000000)
+ COL(0000100000000000)
+ COL(0000000000000000)
+ },
-const uint8_t A[16] = {
- COL(0000111111100000)
- COL(0000111111110000)
- COL(0000000010011000)
- COL(0000000010001100)
- COL(0000000010011000)
- COL(0000111111110000)
- COL(0000111111100000)
- COL(0000000000000000)
-};
+ ['2'] = {
+ COL(0000110000010000)
+ COL(0000111000011000)
+ COL(0000101100001000)
+ COL(0000100110001000)
+ COL(0000100011001000)
+ COL(0000110001111000)
+ COL(0000110000110000)
+ COL(0000000000000000)
+ },
-const uint8_t n0[16] = {
- COL(0000011111110000)
- COL(0000111111111000)
- COL(0000100110001000)
- COL(0000100011001000)
- COL(0000100001101000)
- COL(0000111111111000)
- COL(0000011111110000)
- COL(0000000000000000)
-};
+ ['3'] = {
+ COL(0000010000010000)
+ COL(0000110000011000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000111111111000)
+ COL(0000011101110000)
+ COL(0000000000000000)
+ },
-const uint8_t n1[16] = {
- COL(0000000000000000)
- COL(0000100000100000)
- COL(0000100000110000)
- COL(0000111111111000)
- COL(0000111111111000)
- COL(0000100000000000)
- COL(0000100000000000)
- COL(0000000000000000)
-};
+ ['4'] = {
+ COL(0000000110000000)
+ COL(0000000111000000)
+ COL(0000000101100000)
+ COL(0000100100110000)
+ COL(0000111111111000)
+ COL(0000111111111000)
+ COL(0000100100000000)
+ COL(0000000000000000)
+ },
-const uint8_t n2[16] = {
- COL(0000110000010000)
- COL(0000111000011000)
- COL(0000101100001000)
- COL(0000100110001000)
- COL(0000100011001000)
- COL(0000110001111000)
- COL(0000110000110000)
- COL(0000000000000000)
-};
+ ['5'] = {
+ COL(0000010011111000)
+ COL(0000110011111000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000111110001000)
+ COL(0000011100001000)
+ COL(0000000000000000)
+ },
-const uint8_t n3[16] = {
- COL(0000010000010000)
- COL(0000110000011000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000111111111000)
- COL(0000011101110000)
- COL(0000000000000000)
-};
+ ['6'] = {
+ COL(0000011111100000)
+ COL(0000111111110000)
+ COL(0000100010011000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000111110000000)
+ COL(0000011100000000)
+ COL(0000000000000000)
+ },
-const uint8_t n4[16] = {
- COL(0000000110000000)
- COL(0000000111000000)
- COL(0000000101100000)
- COL(0000100100110000)
- COL(0000111111111000)
- COL(0000111111111000)
- COL(0000100100000000)
- COL(0000000000000000)
-};
+ ['7'] = {
+ COL(0000000000011000)
+ COL(0000000000011000)
+ COL(0000111100001000)
+ COL(0000111110001000)
+ COL(0000000011001000)
+ COL(0000000001111000)
+ COL(0000000000111000)
+ COL(0000000000000000)
+ },
-const uint8_t n5[16] = {
- COL(0000010011111000)
- COL(0000110011111000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000111110001000)
- COL(0000011100001000)
- COL(0000000000000000)
-};
+ ['8'] = {
+ COL(0000011101110000)
+ COL(0000111111111000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000111111111000)
+ COL(0000011101110000)
+ COL(0000000000000000)
+ },
-const uint8_t n6[16] = {
- COL(0000011111100000)
- COL(0000111111110000)
- COL(0000100010011000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000111110000000)
- COL(0000011100000000)
- COL(0000000000000000)
-};
+ ['9'] = {
+ COL(0000000001110000)
+ COL(0000100011111000)
+ COL(0000100010001000)
+ COL(0000100010001000)
+ COL(0000110010001000)
+ COL(0000011111111000)
+ COL(0000001111110000)
+ COL(0000000000000000)
+ },
-const uint8_t n7[16] = {
- COL(0000000000011000)
- COL(0000000000011000)
- COL(0000111100001000)
- COL(0000111110001000)
- COL(0000000011001000)
- COL(0000000001111000)
- COL(0000000000111000)
- COL(0000000000000000)
-};
+ ['A'] = {
+ COL(0000111111100000)
+ COL(0000111111110000)
+ COL(0000000010011000)
+ COL(0000000010001100)
+ COL(0000000010011000)
+ COL(0000111111110000)
+ COL(0000111111100000)
+ COL(0000000000000000)
+ },
-const uint8_t n8[16] = {
- COL(0000011101110000)
- COL(0000111111111000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000111111111000)
- COL(0000011101110000)
- COL(0000000000000000)
-};
+ [' '] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ },
-const uint8_t n9[16] = {
- COL(0000000001110000)
- COL(0000100011111000)
- COL(0000100010001000)
- COL(0000100010001000)
- COL(0000110010001000)
- COL(0000011111111000)
- COL(0000001111110000)
- COL(0000000000000000)
+ ['.'] = {
+ COL(0000000000000000)
+ COL(0000000000000000)
+ COL(0000000000000000)
+ COL(0000011000000000)
+ COL(0000011000000000)
+ COL(0000000000000000)
+ COL(0000000000000000)
+ COL(0000000000000000)
+ },
+
+ ['+'] = {
+ COL(0000011111000000)
+ COL(0000010001100000)
+ COL(0000010001100000)
+ COL(0000010101000000)
+ COL(0000010001000000)
+ COL(0000011111000000)
+ COL(0000000000000000)
+ COL(0000000000000000)
+ },
+
+ ['-'] = {
+ COL(0011011111000000)
+ COL(0000110001100000)
+ COL(0000011001100000)
+ COL(0000010101000000)
+ COL(0000010011100000)
+ COL(0000011111011000)
+ COL(0000000000000000)
+ COL(0000000000000000)
+ },
};
-const uint8_t n10[16] = {
+const uint8_t template[16] = {
COL(0000000000000000)
COL(0000000000000000)
COL(0000000000000000)
@@ -143,30 +177,3 @@ const uint8_t n10[16] = {
COL(0000000000000000)
COL(0000000000000000)
};
-
-/* const uint8_t A[] = { */
-/* 0b11100000, 0b00001111, */
-/* 0b11110000, 0b00001111, */
-/* 0b10011000, 0b00000000, */
-/* 0b10001100, 0b00000000, */
-/* 0b10011000, 0b00000000, */
-/* 0b11110000, 0b00001111, */
-/* 0b11100000, 0b00001111, */
-/* 0b00000000, 0b00000000, */
-/* }; */
-
-const uint8_t* bitpixel_chars[256] = {
- ['0'] = n0,
- ['1'] = n1,
- ['2'] = n2,
- ['3'] = n3,
- ['4'] = n4,
- ['5'] = n5,
- ['6'] = n6,
- ['7'] = n7,
- ['8'] = n8,
- ['9'] = n9,
- ['A'] = A,
- [' '] = space,
- ['.'] = space,
-};