Home

Awesome

purpose

This repository is supposed to be an easy point of entry to contributing to ch32v003fun.
Here we can experiment and publish, even if the code isn't perfect.
Some of us lack knowledge and / or experience, others have it and can help us improve.
This is the right place for you if you:

wildwest because collaborator status will be granted to anyone who asks in the ch32v003fun Discord, so all of us have to make it work by acting in good faith.

Nothing on here is set in stone, your code may be improved / rewritten at any time.

install

this repository is supposed to be located side-by side with ch32v003fun and we will access it through a symbolic link.

clone

git clone https://github.com/cnlohr/ch32v003fun.git
git clone https://github.com/recallmenot/ch32v003fun_wildwest.git
or specify your own forks

symlink

To compile and upload, we need access to the ch32v003fun directory through symbolic links.

linux / macos:

cd ch32v003fun_wildwest
ln -s ../ch32v003fun/ch32v003fun ch32v003fun
ln -s ../ch32v003fun/extralibs extralibs
ln -s ../ch32v003fun/minichlink minichlink
ln -s ../ch32v003fun/examples examples

Windows:

cd ch32v003fun_wildwest
mklink /D ch32v003fun ..\ch32v003fun\ch32v003fun
mklink /D extralibs ..\ch32v003fun\extralibs
mklink /D minichlink ..\ch32v003fun\minichlink
mklink /D examples ..\ch32v003fun\examples

references

Thanks to the symlinks, we can run make directly from within ch32v003fun_wildwest/proj/.
Thus, we can use these path references:
for wild west lib: ../../lib, which is a direct relative path
for extralibs: ../../extralibs, which is a relative path through the symlink

instructions / information

The instructions dir is a place to collect information potentially useful to others. It is a place for everyone, from bitmath for the absolute beginner to errors in the reference manual to advanced tricks.

contribute

Before you pull anything onto here, please have a look at the guildelines and templates in the contribute dir.

own code

Any code you provide is welcome if it works; be it a project, library or instructions.

improvements

Any improvements to other peoples code need to be explained in an easy-to-understand manner.

Large modifications to other peoples code should also state the principles by which the code was improved, which you may also add to the instructions in the contribute dir if helpful to others.