diff --git a/env/parser/config.json b/env/parser/config.json new file mode 100644 index 0000000..50b039a --- /dev/null +++ b/env/parser/config.json @@ -0,0 +1,95 @@ +{ + "organization": "freeCodeCamp", + "website": "https://www.freecodecamp.org/", + "formed": 2014, + "founder": "Quincy Larson", + "certifications": [ + + { + "name": "Responsive Web Design", + "courses": [ + "HTML", + "CSS" + ] + }, + { + "name": "JavaScript Algorithms and Data Structures", + "courses": [ + "JavaScript" + ] + }, + { + "name": "Front End Development Libraries", + "courses": [ + "Bootstrap", + "jQuery", + "Sass", + "React", + "Redux" + ] + }, + { + "name": "Data Visualization", + "courses": [ + "D3" + ] + }, + { + "name": "Relational Database Course", + "courses": [ + "Linux", + "SQL", + "PostgreSQL", + "Bash Scripting", + "Git and GitHub", + "Nano" + ] + }, + { + "name": "Back End Development and APIs", + "courses": [ + "MongoDB", + "Express", + "Node", + "NPM" + ] + }, + { + "name": "Quality Assurance", + "courses": [ + "Testing with Chai", + "Express", + "Node" + ] + }, + + { + "name": "Scientific Computing with Python", + "courses": [ + "Python" + ] + }, + { + "name": "Data Analysis with Python", + "courses": [ + "Numpy", + "Pandas", + "Matplotlib", + "Seaborn" + ] + }, + { + "name": "Information Security", + "courses": [ + "HelmetJS" + ] + }, + { + "name": "Machine Learning with Python", + "courses": [ + "Machine Learning", + "TensorFlow" + ] + } + ] +} diff --git a/env/parser/parser.py b/env/parser/parser.py new file mode 100644 index 0000000..01d7d6e --- /dev/null +++ b/env/parser/parser.py @@ -0,0 +1,9 @@ +import json + + +with open('config.json', 'r') as config_file: + config_data = json.load(config_file) + # print(config_data) + # print(json.dumps(config_data, indent=4)) + print(json.dumps(config_data, indent=4, sort_keys=True)) + diff --git a/libraries/function_pointer/graphics.c b/libraries/function_pointer/graphics.c index 32ab8bf..cc78ccb 100644 --- a/libraries/function_pointer/graphics.c +++ b/libraries/function_pointer/graphics.c @@ -1,17 +1,14 @@ -#include -#include -#include - #include "graphics.h" -display_s *display; +display_s *lcd; -void init_lcd(display_s *d) +void display_init(display_s *d) { - display = d; + lcd = d; + printf("LCD : Init Ok\n"); } -void print_lcd( int val) +void display_print(int val) { - display->print(val); + lcd->print(val); } diff --git a/libraries/function_pointer/graphics.h b/libraries/function_pointer/graphics.h index eb4dd7b..54e2304 100644 --- a/libraries/function_pointer/graphics.h +++ b/libraries/function_pointer/graphics.h @@ -1,8 +1,52 @@ +#include +#include +#include +#include + typedef struct display { int size_x,size_y; + void (*enable)(); + void (*disable)(); + + void (*reset_hard)(); + void (*reset_soft)(); + + uint8_t (*is_ready)(); + + void (*sleep)(); + void (*wake)(); + + void (*draw_pixel)(uint16_t, uint16_t, uint8_t); + void (*draw_line)(uint16_t, uint16_t, uint16_t, uint16_t, uint8_t); + void (*draw_rectangle)(uint16_t, uint16_t, uint16_t, uint16_t, uint8_t, uint8_t); + void (*draw_circle)(uint16_t, uint16_t, uint16_t, uint8_t, uint8_t); + + void (*scroll_right)(uint16_t, uint16_t); + void (*scroll_left)(uint16_t, uint16_t); + + void (*scroll_up)(uint16_t, uint16_t); + void (*scroll_down)(uint16_t, uint16_t); + + void (*set_font)(uint8_t*, uint8_t, uint8_t spacing); + void (*print_char)(uint16_t, uint16_t, uint8_t, uint8_t); + void (*print_text)(uint16_t, uint16_t, uint8_t, uint16_t, uint8_t); + void (*print_cursor)(uint8_t); + + void (*goto_pos)(uint16_t, uint16_t); + + uint8_t (*display)(); + uint8_t (*clear)(); + + void (*change_brightness)(uint8_t); + void (*change_contrast)(uint8_t); + + void (*rotate)(uint8_t); + void (*inverse)(uint8_t); + void (*invert)(uint8_t); void (*print)(int); } display_s; -void init_lcd(display_s *d); -void print_lcd(int val); +void display_init(display_s *d); +void display_print(int val); + diff --git a/libraries/function_pointer/main.c b/libraries/function_pointer/main.c index 35134cc..94f3fde 100644 --- a/libraries/function_pointer/main.c +++ b/libraries/function_pointer/main.c @@ -1,19 +1,16 @@ #include #include #include +#include "ui.h" -#include "oled.h" + +display_s display; int main() { - - display_s display = oled_init(); - init_lcd(&display); - - void (*print_ptr)(int) = &oled_print; - - (*print_ptr)(20); - display.print(40); - print_lcd(10); - return 0; + oled_init(&display); + display_init(&display); + ui_print_number(50); + display_print(10); + return 0; } diff --git a/libraries/function_pointer/oled.c b/libraries/function_pointer/oled.c index 17b8703..a8d04c4 100644 --- a/libraries/function_pointer/oled.c +++ b/libraries/function_pointer/oled.c @@ -1,22 +1,18 @@ #include #include #include - #include "oled.h" - void oled_print(int a) { - printf("Value of a is %d\n", a); + printf("oled_print(int a) : %d\n", a); } -display_s oled_init() +void oled_init(display_s *lcd) { - display_s *lcd = malloc(sizeof(display_s)); lcd->size_x = 10; lcd->size_y = 20; lcd->print = &oled_print; - printf("LCD_OLED : Init Ok\n"); - return *lcd; + printf("LCD_OLED_REG : Init Ok\n"); } diff --git a/libraries/function_pointer/oled.h b/libraries/function_pointer/oled.h index 0b4a413..167d4b1 100644 --- a/libraries/function_pointer/oled.h +++ b/libraries/function_pointer/oled.h @@ -1,6 +1,9 @@ - +#include +#include +#include +#include #include "graphics.h" -display_s oled_init(); +void oled_init(display_s *lcd); void oled_print(int a); diff --git a/libraries/function_pointer/test b/libraries/function_pointer/test index 08a85ce..9d4ab33 100755 Binary files a/libraries/function_pointer/test and b/libraries/function_pointer/test differ diff --git a/libraries/function_pointer/ui.c b/libraries/function_pointer/ui.c new file mode 100644 index 0000000..ec6a934 --- /dev/null +++ b/libraries/function_pointer/ui.c @@ -0,0 +1,7 @@ +#include "ui.h" + +void ui_print_number(int num) +{ + printf("UI : Init Ok\n"); + display_print(33); +} diff --git a/libraries/function_pointer/ui.h b/libraries/function_pointer/ui.h new file mode 100644 index 0000000..436d3e3 --- /dev/null +++ b/libraries/function_pointer/ui.h @@ -0,0 +1,9 @@ +#include +#include +#include +#include +#include "oled.h" + +void ui_print_number(int num); +void ui_init(); +