commit 58cfb98e80f8826980338a7c557d6fde6f9801f6 Author: Felix "xq" Queißner Date: Sat Oct 8 10:16:46 2022 +0200 Initial vomit: not working at all, basic docs. diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0cb064a --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.zig text=auto eol=lf diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..85b5393 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: MasterQ32 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e73c965 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +zig-cache/ +zig-out/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..54620ef --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vendor/microzig"] + path = vendor/microzig + url = https://github.com/ZigEmbeddedGroup/microzig diff --git a/README.md b/README.md new file mode 100644 index 0000000..2cd0dfa --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# esp32-c3-bringup diff --git a/build.zig b/build.zig new file mode 100644 index 0000000..035b12a --- /dev/null +++ b/build.zig @@ -0,0 +1,34 @@ +const std = @import("std"); + +pub fn build(b: *std.build.Builder) void { + // Standard target options allows the person running `zig build` to choose + // what target to build for. Here we do not override the defaults, which + // means any target is allowed, and the default is native. Other options + // for restricting supported target set are available. + const target = b.standardTargetOptions(.{}); + + // Standard release options allow the person running `zig build` to select + // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. + const mode = b.standardReleaseOptions(); + + const exe = b.addExecutable("esp32-c3-bringup", "src/main.zig"); + exe.setTarget(target); + exe.setBuildMode(mode); + exe.install(); + + const run_cmd = exe.run(); + run_cmd.step.dependOn(b.getInstallStep()); + if (b.args) |args| { + run_cmd.addArgs(args); + } + + const run_step = b.step("run", "Run the app"); + run_step.dependOn(&run_cmd.step); + + const exe_tests = b.addTest("src/main.zig"); + exe_tests.setTarget(target); + exe_tests.setBuildMode(mode); + + const test_step = b.step("test", "Run unit tests"); + test_step.dependOn(&exe_tests.step); +} diff --git a/docs/esp32-c3-32s-pinout.png b/docs/esp32-c3-32s-pinout.png new file mode 100644 index 0000000..2221abb Binary files /dev/null and b/docs/esp32-c3-32s-pinout.png differ diff --git a/docs/esp32-c3-32s-pinout.xcf b/docs/esp32-c3-32s-pinout.xcf new file mode 100644 index 0000000..b58776f Binary files /dev/null and b/docs/esp32-c3-32s-pinout.xcf differ diff --git a/src/main.zig b/src/main.zig new file mode 100644 index 0000000..c8a3f67 --- /dev/null +++ b/src/main.zig @@ -0,0 +1,24 @@ +const std = @import("std"); + +pub fn main() !void { + // Prints to stderr (it's a shortcut based on `std.io.getStdErr()`) + std.debug.print("All your {s} are belong to us.\n", .{"codebase"}); + + // stdout is for the actual output of your application, for example if you + // are implementing gzip, then only the compressed bytes should be sent to + // stdout, not any debugging messages. + const stdout_file = std.io.getStdOut().writer(); + var bw = std.io.bufferedWriter(stdout_file); + const stdout = bw.writer(); + + try stdout.print("Run `zig build test` to run the tests.\n", .{}); + + try bw.flush(); // don't forget to flush! +} + +test "simple test" { + var list = std.ArrayList(i32).init(std.testing.allocator); + defer list.deinit(); // try commenting this out and see if zig detects the memory leak! + try list.append(42); + try std.testing.expectEqual(@as(i32, 42), list.pop()); +} diff --git a/vendor/microzig b/vendor/microzig new file mode 160000 index 0000000..15bc1fc --- /dev/null +++ b/vendor/microzig @@ -0,0 +1 @@ +Subproject commit 15bc1fc06da3b6c622a21fa438e40be247d9dee1 diff --git a/zpm.zig b/zpm.zig new file mode 100644 index 0000000..1dcd7b3 --- /dev/null +++ b/zpm.zig @@ -0,0 +1,8 @@ +//! This file is auto-generated by zpm-update and *should* +//! not be changed. This file can be checked into your VCS +//! and is able to work standalone. +const std = @import("std"); + +pub const sdks = struct { + pub const microzig = @import("vendor/microzig/src/main.zig"); +};