aboutsummaryrefslogtreecommitdiff
path: root/src/kern/main.c
Commit message (Collapse)AuthorAge
* Can read from the A/C remote control!test_irJosh Rahm2020-12-09
|
* Got a basic timer to work.Josh Rahm2020-12-09
|
* Got a very basic external interrupt to work.Josh Rahm2020-12-05
|
* Add a little white flair to the LED stripworkingJosh Rahm2020-12-05
|
* Added some better implementation around the ws2812b driver.Josh Rahm2020-12-04
|
* Added kernel-level abstraction over the spi interface.Josh Rahm2020-12-04
|
* Double the SPI bandwith by writing only 8 bits to the spi data register ↵Josh Rahm2020-12-03
| | | | instead of 16 (with 8 leading 0's).
* Basic working example with minimal flicker and correct color.Josh Rahm2020-12-03
|
* The lights really work this time.Josh Rahm2020-11-29
| | | | | | | I also found out that the noise in the lighhts was coming from the USB debug interface. For whatever reason it doesn't appear that the spi pins are not well isolated from the debugger noise so unplugging and running off one power source works pretty well.
* Have a stable red/green pattern on my LED strip.Josh Rahm2020-11-29
| | | | | | | | | | | | | | I finally got a stable red/green pattern to show up on the LED strip. Unfortunately I had to do this manually because my driver is broken. No Dma, interrupts or drivers, but manually writing to the spi bus. Currently the driver assums the data sheet doesn't lie and inflates each bit 3:1 so a 1 is a 110 pattern and a 0 is a 100 pattern. This should be well within the tolerances at 2.5Mhz, but alas it's not. I figured out that it's better to inflate each bit to a 4:1 ratio so a 1 is a 1100 pattern and a 0 is a 1000 pattern. This appears to produce cleaner results.
* Some LED lights working. Not great. WIPJosh Rahm2020-11-28
|
* Basic SPI working.Josh Rahm2020-11-26
|
* Add ability to jump to a usermode init routine.Josh Rahm2020-11-25
| | | | | | | | This routine will has a newly allocated stack. I found out that when using the st-flash utility it likes to reset the device with the IPSR in HARD FAULT mode (?) so I have to manually hit the reset button to get it to work.
* Primitive ability to call kernel code from userspace.Josh Rahm2020-11-25
|
* very sloppy svc handler.Josh Rahm2020-11-25
|
* Add priv.h/c to allow switching to user mode. Change some things with the ↵Josh Rahm2020-11-25
| | | | MPU in main() to actually work.
* Add module for controlling the MPU.Josh Rahm2020-11-25
| | | | | | | The MPU is a module in arm chips which allow for memory access protection. They are more primitive than full MMUs, but can still provide at least basic access control between different process controls.
* Changes to painic. It now prints the stack at the time of failure (if ↵Josh Rahm2020-11-24
| | | | logging is initialized).
* Fix kalloc. Now the HEAP START and HEAP END globals are defined by the ↵Josh Rahm2020-11-24
| | | | linker script.
* Update .clang-format and run it on filseJosh Rahm2020-11-24
|
* Moved action to top level.Josh Rahm2020-11-24
Removed old iterations of the project and moved the files from 02-usart to the root directory since that's the sole place where the action is and that subproject has outgrown its initial title.