{"id":18635516,"url":"https://github.com/jonlamb-gh/stm32f4-rtic-renode","last_synced_at":"2025-05-07T20:41:24.977Z","repository":{"id":199996786,"uuid":"615658774","full_name":"jonlamb-gh/stm32f4-rtic-renode","owner":"jonlamb-gh","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-13T16:07:52.000Z","size":82,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T14:04:04.001Z","etag":null,"topics":["no-std","renode","rust-no-std"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonlamb-gh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-18T09:50:57.000Z","updated_at":"2024-10-28T06:05:11.000Z","dependencies_parsed_at":"2023-10-15T06:02:33.250Z","dependency_job_id":"65a8d380-c87d-4765-bc21-f3a9a6a9c781","html_url":"https://github.com/jonlamb-gh/stm32f4-rtic-renode","commit_stats":null,"previous_names":["jonlamb-gh/stm32f4-rtic-renode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonlamb-gh%2Fstm32f4-rtic-renode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonlamb-gh%2Fstm32f4-rtic-renode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonlamb-gh%2Fstm32f4-rtic-renode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonlamb-gh%2Fstm32f4-rtic-renode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonlamb-gh","download_url":"https://codeload.github.com/jonlamb-gh/stm32f4-rtic-renode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954128,"owners_count":21830893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["no-std","renode","rust-no-std"],"created_at":"2024-11-07T05:25:21.402Z","updated_at":"2025-05-07T20:41:24.946Z","avatar_url":"https://github.com/jonlamb-gh.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# air-gradient-pro-rs\n\nNOTE: this isn't a real thing yet, just a place for hacking around in renode\n\nThe real firmware lives here: https://github.com/jonlamb-gh/air-gradient-pro-rs\n\n## TODOs/NOTEs\n\n* move Sensors/DS3231.cs to I2C/DS3231.cs or Timers/\n* renode things to look at\n  - can also emulate the peripherals in Rust: https://antmicro.com/blog/2021/07/rust-peripheral-support-in-renode/\n  - https://github.com/antmicro/renode-rust-example\n  - (recent I2C example) https://github.com/renode/renode-infrastructure/blob/master/src/Emulator/Peripherals/Peripherals/I2C/LC709205F.cs\n  - https://renode.readthedocs.io/en/latest/tutorials/zephyr-ptp-testing.html#running-the-test\n  - https://github.com/renode/renode-infrastructure/tree/master/src/Emulator/Peripherals/Peripherals/Sensors\n  - https://github.com/renode/renode/blob/master/tests/platforms/QuarkC1000/QuarkC1000.robot (network tests)\n  - https://github.com/renode/renode/blob/master/tests/platforms/zynq-7000.robot (linux)\n  - more examples (log/auto-exit): https://www.bitcraze.io/2021/04/successful-emulation/\n* add features for, compile_error! for conflicts\n  - log-rtt\n  - log-usart3\n  - panic-usart3 (switch to abort instead of loop'n)\n  - panic-rtt\n* console or shell\n  https://github.com/rust-embedded-community/menu\n  https://crates.io/crates/ushell\n\nNOTE: uses my fork of renode with custom peripherals:\nhttps://github.com/renode/renode-infrastructure/compare/master...jonlamb-gh:renode-infrastructure:add-sensors\n\n[`renode-run`](https://crates.io/crates/renode-run) is the default runner:\n```\ncargo install renode-run\n```\n\n\n```\nsudo ./renode/setup-network.sh\n\nexport RENODE_RUN_RENODE_BIN=~/repos/forks/renode/renode\n\ncargo run\n\n# also works\ncargo +nightly test\n```\n\nRobot framework driver:\n```\nrenode-test tests.robot\n```\n\nExample responds with \"hello\":\n```\necho \"hi\" | socat -t 2 - udp:192.0.2.29:12345\n```\n\nhttps://www.st.com/en/evaluation-tools/nucleo-f429zi.html\n\nhttps://os.mbed.com/platforms/ST-Nucleo-F429ZI/\n\nUSART3 is virtual comm, D8-tx, D9-rx\n\nhttps://www.airgradient.com/open-airgradient/instructions/diy-pro-v37/\nhttps://www.airgradient.com/images/diy/schematicpro37.png\nhttps://github.com/airgradienthq/arduino\n\n128x64 display U8G2 SH1106\nhttps://github.com/olikraus/u8g2\nhttps://crates.io/crates/sh1106\nhttps://www.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf\n\nSHT31\nhttps://crates.io/crates/sht3x\nhttps://www.mouser.com/datasheet/2/682/Sensirion_Humidity_Sensors_SHT3x_Datasheet_digital-971521.pdf\nhttps://github.com/renode/renode-infrastructure/blob/master/src/Emulator/Peripherals/Peripherals/I2C/SHT21.cs\n\nsenseAir S8 LP\nCO2 sensor\nserial modbus\nhttps://senseair.com/products/size-counts/s8-lp/\nhttps://rmtplusstoragesenseair.blob.core.windows.net/docs/publicerat/PSP126.pdf\nhttps://rmtplusstoragesenseair.blob.core.windows.net/docs/Dev/publicerat/TDE2067.pdf\nhttps://github.com/alttch/rmodbus\nhttps://github.com/slowtec/modbus-core\n\nPMS5003\nhttps://crates.io/crates/pms-7003\nhttps://crates.io/crates/pms700x\n\nSGP41 TVOC\nhttps://crates.io/crates/sgp41\nuses https://crates.io/crates/sensirion-i2c\nhttps://sensirion.com/products/catalog/SGP41/\nhttps://www.mouser.com/datasheet/2/682/Sensirion_Gas_Sensors_Datasheet_SGP41-2604356.pdf\n\n\n## Peripheral Support\n\nTODO - add table here with hw and renode support columns\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonlamb-gh%2Fstm32f4-rtic-renode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonlamb-gh%2Fstm32f4-rtic-renode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonlamb-gh%2Fstm32f4-rtic-renode/lists"}