Releases: VincentFoulon80/virt-ic
0.5.2
🆕 Added
- Extend example, that demonstrates how to extend the built-in ChipSet with our own custom chips
🔨 Changed
- Deprecated
ChipType
, which has been renamed toChipSet
to clarify its purpose.
0.5.1
Update REAMDE.md
0.5.0
The entire library has been rewritten from scratch in order to ease the use of this crate, remove all those Rc<RefCell>
that were degrading the readability of your code.
Thus, virt-ic up before 0.5.0 is completely incompatible with newer versions.
0.3.0
Additions
- Added
get_info
function toChip
trait, that'll provide generic information about the chip and with data information - Simplified the
get_pin
function, now renamed to_get_pin
. The pin check is now internally tested._get_pin
will always be called with thepin
parameter in range[1;pin_qty]
. So your function will be required to provide one of its pin when this function is called.
0.2.1
Update version
0.2.0
Additions
-
Adding
save
andload
functions toBoard
.
In consequence,Chip
trait now needs four new methods:get_uuid() -> u128
: Give a unique id to maintain continuity when saving. This uuid must not maintain any information other that identity. When saving, this value will be used to link the traced pins to their respective chip.get_type() -> &str
: Give a unique name for the chip struct, it must be the same for every chips of the same struct. This value will be used to rebuild the correct Struct based on this name with the help of the chip factorysave_data() -> Vec<String>
: Create a Vec of String that must contain every information you need to restore your chip to a certain state. This will be saved in the resulting file.load_data(&[String])
: Using the array of String you provided insave_data
, you must restore the state of your chip.
Note that
save_data
andload_data
are optional, but if you do not implement them their state won't be saved at all. Useful for "I'm doing it later" or "my chip don't need to save data". -
Pin::new()
now require that you provide your chip'suuid
as a first parameter to keep track of which chip a Pin comes from. -
Board can now provide you its sockets and traces, and also give you a specific socket based on the uuid of the plugged chip. This will be useful for frontend usage
0.1.3
- Resolved some unwraps from code
- Added documentation to modules and structs
0.1.2
Add get_pin_state and set_pin_state to Chip + rewrote ram test with c…
0.1.1
- Add Readme to cargo.toml
- Factorial of 5 instead of 4
0.1.0
Features
- Create a Board structure and add socket and traces to it
- Connect Chips into Sockets and link their Pins with Traces
- Run the chips to emulates them
- Built-in Chips : Generator, Button, Clock100Hz, GateOr, GateAnd, GateNot, Ram256B, Rom256B, SimpleCPU