This document describes the work-in-progress C API for writing custom chips for the Wokwi simulator.
First, make sure to include wokwi-api.h
. Every external method you declare should be wrapped with the EXPORT
macro (e.g. void EXPORT(my_method_name) (uint32_t arg) { ... }
).
The chip should declare a chip_init
method. This method will be called for every new instance of the chip. If the chip has some internal state, chip_init
should allocate memory for the internal state and return a pointer to this memory.
This pointer will be passed in the first argument for any listener that you declare (e.g. chip_pin_change
). For chip without any internal state, simply return NULL.
Here's an example of a minimal chip file: