Embedded Software Engineer
CurrentNow I am developing comprehensive course materials for the Infineon AURIX TC375TP, covering peripherals such as Port, Timer, Interrupts, CAN, SPI, and others using Infineon's Low-Level drivers. Additionally, providing an in-depth focus on CAN communication with the CANoe software suite, including CANdb++, CAPL scripting, and other essential tools.From January 2024 to May 2024 I worked on the MCAL layer’s requirements for its principal uses. In this project I have been developing the drivers and libraries to support this layer, for instance, the Bfx to handle the use of 8, 32 bits for set-in register, mask, or set values; the Port for manipulating the use of set values and direction of GPIO peripherical, Dio to handle of the use of GPIO to toggle a pin, write or read it; Nvic drivers for interruptions of different peripherical, Detection errors for detect in any case that the values entered are correct, GPT for set any timer for different purposes and finally Finally, I worked on the ADC driver, where I developed its error detection capabilities and managed its registers, among other tasks. All these parts included the git versioning, unit testing, MISRA Rules, and documenting using doxyfile; and it was made in low-level programming for the use of STM32.From September 2023 to January 2024 I worked on Casiocan project. The casiocan was the project to implement all the knowledge I obtained in the previous stage of the boot camp, the project was defined by a Scheduler to manage the different task, Circular buffer to manage the data into different functions, App serial to manage the data receive and transmit using CAN bus, Clock for the use of the RTC with the use of a event state machine to handle the different functions, display to set the values from RTC and the Watchdog for reset the microcontroller in case of any bug.