619 Commits (063ade2a3cfb5373fcfc6a079ecf0734a45952a7)
 

Author SHA1 Message Date
Matt Knight 92d7d14d12
Update microzig (#3)
* update microzig

* update to new api

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 50429bcc85
Update microzig (#4)
* update microzig

* update to new api

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 3b129e1ca5
Update microzig (#26)
* update microzig

* update to new api

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 44ac467baa
Update microzig (#4)
* update microzig

* update to new api

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 1a9e4cdbc3
Update microzig (#4)
* update microzig

* update to new api

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 31613f43a1
Update microzig (#4)
* update microzig

* update to new api

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight b6fc3abbf7
Mimic new stdlib build API (#111)
* start on new docs to match api

* tweak the MicroZig dependency tree

* use microzig_options

* remove empty.zig

* add test programs

* keep it to one arch, bump flash for debug
2 years ago
Matt Knight 38d8d86941
Update microzig (#3)
* update microzig

* update paths

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 1d6d7d98a5
Update microzig (#3)
* update microzig

* update paths

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight e8ad894d94
Update microzig (#3)
* update microzig

* update paths and for loops

* update paths

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 39245b48ac
Update microzig (#3)
* update microzig

* update paths and for loops

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 58d73abc08
Update microzig (#24)
* update microzig

* update paths and for loops

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 0e22da698b
Update microzig (#3)
* update microzig

* update paths and for loops

---------

Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 11214ed8ba
new for loop syntax and remove import-module.zig (#110)
* new for loop syntax and recursive dependencies allowed for removal of import-module.zig

* fix chip standard path

* move to build.zig

* update template too
2 years ago
Matt Knight c15e52ba1d
update microzig (#2)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight f625be1dff
update microzig (#2)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 49c61c7e14
update microzig (#2)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight b8b5df0dc6
update microzig (#2)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight f26efd5042
update microzig (#2)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 026af75f81
update microzig (#22)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 8cb150e968
update microzig (#2)
Co-authored-by: mattnite <mattnite@users.noreply.github.com>
2 years ago
Matt Knight 831cfff35c
Add rest of hardware support libraries (#109)
Automerge action step doesn't work with this setup so we'll have to
manually merge
2 years ago
Matt Knight 24bb6dced7
add microzig submodule (#1) 2 years ago
Matt Knight 4bb65617a4
automerge and PR description (#108) 2 years ago
Matt Knight c244999bac
fix yaml (#107) 2 years ago
Matt Knight 417f8fa21f
Auto pr (#106)
* auto update downstream repos on pushes

* fix github actions

* add workflow dispatch and token
2 years ago
Matt Knight 7d81ecf654
Regz rewrite (#20)
* update to new regz output

* snake case

* update with changes to microzig

* remove symlink

* add microzig submodule
2 years ago
Matt Knight 56e3d88bc0
add chips and board (#1)
* add chips and board

* fix up hal
2 years ago
Matt Knight 5fb80ada81
add chips and boards (#1) 2 years ago
Matt Knight 2d0ee5c473
fix typo for interrupt creation function (#104) 2 years ago
Matt Knight 29221c27f5
Initial commit 2 years ago
Matt Knight 488cb11650
Initial commit 2 years ago
Matt Knight fe247e6669
add chip and board definitions (#1) 2 years ago
Matt Knight 42c7a62a3f
Initial commit 2 years ago
Matt Knight 470cd86348
add microzig submodule and buildkite pipeline file (#1) 2 years ago
Matt Knight 4eba908bd2
migrate code from microzig repo (#1)
* migrate code from microzig repo

* move robot file

* add microzig submodule

* add chips to build

* add buildkite pipeline

* try listing boards

* change board names

* revert pipeline
2 years ago
Matt Knight 97ca5497da
Regz rewrite (#103)
* wip

* remove tools

* reorganized

* move hardware into their own repos

* snake_case

* use FileSource for board/chip/cpu descriptors

* are_globally_enabled -> globally_enabled

* rearrange
2 years ago
Matt Knight d8e329d90b restructure for regz rewrite 2 years ago
Matt Knight e3562492df
update to master (#19) 2 years ago
Vesim 9ccde9ff37
Update to latest zig with modules (#102) 2 years ago
Philipp Wendel e63558330b
Catchup to changes introduced by ziglang/zig#14498 (#101) 2 years ago
Marnix Klooster e1c1466d9e
Initial partial SPI support (#97)
* build.zig: Trivial rename around UART test

* mmio: Add writeRaw() to set a full register

* UART: Add TODO for auto baud rate detection

* STM32F30x Initial USART1 output/transmit support

All code assumes default chip clock configuration.
Code assumes STM32F303xB / STM32F3030xC.
Code supports only 8 data bits, 1 stop bit.

* stm32f3discovery @panic() to UART1

This is done by implementing `debugWrite()` for the board,
which only initializes UART1 if that was not yet done,
and flushes afterwards to make sure the host receives all.

* stm32f303: Support UART1 reader

This is done by implementing `rx()` and `canRead()`.

* stm32f303 UART1 correctly support 7 and 8 bits

This includes correctly masking the parity bit
on reads.

* stm32f3 UART1 support 0.5/1.5/2 stop bits

* stm32f303 UART1 simplify parity code

* stm32f303 I2C rough initial code

Allows only writing and reading single bytes.

* stm32f3 i2c: enable debug 'logging'

* Add a few comments

* I2C API changes, STM32F303 I2C multi-byte transfers

Now using controller/device terminology, instead of master/slave.

Now using 'transfer objects' to make STOPs and re-STARTs explicit,
and allow using Writer and Reader APIs.

Added 'register' abstraction.

STM32F303 I2C now supports this new API, and multi-byte transfers.

Now waiting for I2C_ISR.BUSY == 0, after setting I2C_CR2.STOP == 1.
Without this, the sequence write-stop-write caused an additional STOP
to be sent immediately the START and address of the second write.

* Make work with regz-generated registers.zig change

* Updated to match regz-generated update

* After #23 repair Reset on stm32, lpc1768

* Clean-up I2C `readRegisters()`.

* Refactor to separate read/write states

* On STM32F303, make second read call fail

Also doc comments to clarify the new API.

* STM32 I2C: Properly support multiple write calls

* I2C STM32: Fix release mode compile error

...on top of an earlier commit on this branch.

* I2C Add 'write register' shorthand functions

* Make sure vector_table is correctly exported

It needs to be a non-`comptime` `var` for `@export` to work properly.

The only 'documentation' for this behavior currently seems GitHub comment
https://github.com/ziglang/zig/issues/5157#issuecomment-618933196 .

This issue was introduced in 1c17304 for PR #27,
which broke at least ARM-based STM32F303.

* fix missing vector table on ARM

* Revert "Merge branch 'fix-vector_table-export' into marnix-master"

This reverts commit 8ea0a74e1031cd0b88abe0283f179f0cf20f450c, reversing
changes made to 355a3618080d28c5da6e044773e6449989355fe5.

* Temp commit for SPI

* Check new I2C target_speed config setting

* Corrected incorrect doc comment

* Initial SPI transfer support for STM32F303

* SPI device CS pin is now used

* Revert accidentally committed debug flag.

* SPI: Add shorthands for 'register-based' devices.

* Additional fix to remove PE3 pin dependency

* SPI: Renames, comments, extracted device-specific code

Specifically,
top-level `Spi` is now `SpiBus`;
and the internal API has an additional `switchToDevice()`,
and receives `DeviceConfig` in more places.

* SPI device: Add `transceive()` method.

---------

Co-authored-by: Matt Knight <mattnite@protonmail.com>
2 years ago
Aidan Oldershaw 1c3e04baa1
Use `root.std_options` to override log behaviour (#99)
ziglang/zig#14181 changed the interface for overriding the log function.
Previously, you would define a public `root.log` function. Now, you
define a `root.std_options` namespace that has a `logFn` decl.

Signed-off-by: Aidan Oldershaw <aidan.oldershaw@gmail.com>
2 years ago
Felix Queißner db78794f01
Adds social media preview. (#98)
Co-authored-by: Felix "xq" Queißner <xq@random-projects.net>
2 years ago
Matt Knight 0713809eaf
catch up to master (#17) 2 years ago
Matt Knight 4f0d25220e
catchup to self hosted (#96) 2 years ago
Connor Rigby 680b6282f3
stdlib: allow app to override the zig os layer (#93) 2 years ago
Matt Knight 72a5680af8
Initial commit 2 years ago
Felix Queißner 31070c1530
Makes executable files never stripped, we want that sweet debug info. Makes empty.zig less empty, so the compiler finds the file. (#91)
Co-authored-by: Felix "xq" Queißner <xq@random-projects.net>
2 years ago
Felix Queißner 248388d6e8
Update README.adoc (#90) 2 years ago