Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pmnxis/billmock-app-rs
BillMock firmware source code written in rust
https://github.com/pmnxis/billmock-app-rs
firmware rust rust-embedded stm32g0
Last synced: 9 days ago
JSON representation
BillMock firmware source code written in rust
- Host: GitHub
- URL: https://github.com/pmnxis/billmock-app-rs
- Owner: pmnxis
- Created: 2023-07-18T13:40:23.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-22T08:30:54.000Z (6 months ago)
- Last Synced: 2024-08-01T00:37:27.865Z (3 months ago)
- Topics: firmware, rust, rust-embedded, stm32g0
- Language: Rust
- Homepage:
- Size: 4.17 MB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSES/Apache-2.0.txt
Awesome Lists containing this project
- rust-embedded - BillMock - on hardware to install on Korean arcade machines (Firmware projects / WIP)
- awesome-embedded-rust - BillMock - on hardware to install on Korean arcade machines (Firmware projects / WIP)
README
# `billmock-app-rs`
Rust Embedded firmware using **rust embedded-hal**[1](#footnote_1) and **embassy-rs**[2](#footnote_1) on **STM32G030C8**[3](#footnote_1) MCU for Billmock product.
Used rust experimentally.
This repository is aiming three goal.
One for development of production firmware and second is making a proof of concept that rust embedded is usable for actual embedded production. And last goal is setting some example about production-rust-embedded-code.**This project is currently under development, with ongoing QA testing and some optimization remaining.**
## Billmock
Detail documentation is here [BillMock Manual](https://billmock.pmnxis.net/)It is hardware and software for the purpose of converting I/O signals related to money payment of arcade game machines for compatibility.
This project began development at the request of **GPARK Co., Ltd**[4](#footnote_1) and was designed and developed for the using credit card readers in arcade game machine and compatibility of existing payment systems (open-drain-based), and is open to the public except for code in the NDA area.
The project has been granted an open source disclosure except of NDA era.## Target Hardware
Based on BillMock-HW 0.5 mini, 0.4 mini and 0.4.
0.2 and 0.3 HW bring-up codes are still left for recyle the old PCB.
- 0.2 HW has different gpio configuration compare to latest boards.
- 0.3 HW has minor bugs, floating on VendSide-Inhibit and missing net route on VendSide-1P-StartJam.
- 0.4 HW fixed 0.3 HW bugs.
- 0.4 HW mini reduced BOM for mass-manufacturing
- 0.5 HW mini added tact switch for SVC mode callCurrent default HW is `0.5 mini`. If need to use old 0.4 or 0.4 mini, following below command lines
```sh
cargo build --features hw_0v4 --no-default-features --release
cargo build --features hw_mini_0v4 --no-default-features --release
```### Target hardware image
![Actual BillMock PCB 0v5](https://billmock.gpark.biz/images/BillMockPCB_0v5_mini.jpg)
The hardware revision currently adopted for final mass production is 0.5-MINI, and the software development is also progressing according to this version.![Actual BillMock PCB 0v4](https://billmock.gpark.biz/images/BillMockPCB_0v4.jpg)
Old revisions.### Hardware design
BillMock hardware schematic repository (only pdf)
https://github.com/pmnxis/BillMock-HW-RELEASEThe schematic printed in PDF is distributed under CC BY-SA 3.0, but the actual Gerber files and project files are private.
#### v 0.5 Mini (2023-10-24)
[BillMock-Mini-HW-0v5.pdf](https://github.com/pmnxis/BillMock-HW-RELEASE/blob/master/sch/BillMock-Mini-HW-0v5.pdf)#### v 0.4 Mini (2023-09-12 or 2023-09-13)
[BillMock-Mini-HW-0v4.pdf](https://github.com/pmnxis/BillMock-HW-RELEASE/blob/master/sch/BillMock-Mini-HW-0v4.pdf)#### v 0.4 (2023-09-08)
[BillMock-HW-0v4.pdf](https://github.com/pmnxis/BillMock-HW-RELEASE/blob/master/sch/BillMock-HW-0v4.pdf)#### ~~v 0.3 (2023-08-11)~~ - DEPRECATED
~~[BillMock-HW-0v3.pdf](https://github.com/pmnxis/BillMock-HW-RELEASE/blob/master/sch/BillMock-HW-0v3.pdf)~~#### ~~v 0.2 (2023-06-13)~~ - DEPRECATED
~~[BillMock-HW-0v2.pdf](https://github.com/pmnxis/BillMock-HW-RELEASE/blob/master/sch/BillMock-HW-0v2.pdf)~~## Feature diagram
![BillMock feature diagram](https://billmock.gpark.biz/images/billmock_logic_diagram.png)## Dependencies
See details here [dependencies](docs/dependencies.md)### NDA Dependencies
- [Dependency Injection for card reader](https://billmock.pmnxis.net/dev/dependency_injection.html)
- [Detail stories](docs/SerialDevice.md)## License
This program and the accompanying materials are made available under the terms
of the Apache Software License 2.0 which is available at
https://www.apache.org/licenses/LICENSE-2.0, or the MIT license which is
available at https://opensource.org/licenses/MITAlso all of codes are based one MIT or Apache Software License 2.0. But some common *.toml files are based on CC0-1.0 license. (Example Cargo.toml)
## Footnote
1 `rust embedded-hal` is hardware abstraction layer written in rust
( https://github.com/rust-embedded/embedded-hal )2 `embassy-rs` is rust embedded framework
( https://github.com/embassy-rs/embassy )3 `STM32G030C8` is STMicroelectronics' MCU with ARM-Cortex M0+ , 64KiB Flash and 8KiB SRAM.
( https://www.st.com/en/microcontrollers-microprocessors/stm32g030c8.html )4: `GPARK Co., Ltd.` is a company in South Korea that operates the arcade game industry.