{"id":21197668,"url":"https://github.com/stianeklund/msp430fr4133_temperature","last_synced_at":"2025-03-14T22:10:18.637Z","repository":{"id":91454975,"uuid":"83217108","full_name":"stianeklund/MSP430FR4133_Temperature","owner":"stianeklund","description":"Reads the temperature and displays it on the LCD (written in Rust)","archived":false,"fork":false,"pushed_at":"2020-07-26T14:46:55.000Z","size":63,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T23:34:30.910Z","etag":null,"topics":["embedded","low-level","mcu","microcontroller","msp430","msp430fr4133","rust","rust-lang","texas-instruments"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stianeklund.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-02-26T15:01:15.000Z","updated_at":"2022-09-30T23:06:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"6db2bd85-44b4-48f7-90b8-194be6dcb6d5","html_url":"https://github.com/stianeklund/MSP430FR4133_Temperature","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stianeklund%2FMSP430FR4133_Temperature","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stianeklund%2FMSP430FR4133_Temperature/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stianeklund%2FMSP430FR4133_Temperature/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stianeklund%2FMSP430FR4133_Temperature/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stianeklund","download_url":"https://codeload.github.com/stianeklund/MSP430FR4133_Temperature/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243652702,"owners_count":20325610,"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":["embedded","low-level","mcu","microcontroller","msp430","msp430fr4133","rust","rust-lang","texas-instruments"],"created_at":"2024-11-20T19:45:54.895Z","updated_at":"2025-03-14T22:10:18.615Z","avatar_url":"https://github.com/stianeklund.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MSP430FR4133_Temperature\r\n##### A low level project for the MSP430FR4133 written in Rust.\r\n\r\n[![Build Status](https://travis-ci.com/stianeklund/MSP430FR4133_Temperature.svg?branch-master)](https://travis-ci.com/stianeklund/MSP430FR4133_TEMPERATURE)\r\n\r\nDisplays the temperature on the MSP430FR4133 LCD.\r\nPrevious versions of this project did not really do anything, that is to say I ended up\r\ndoing something else instead of finishing it..\r\n\r\nIt's now been brought up to date to use `Rust 2018 edition` and \r\nuses the newer [msp430](https://crates.io/crates/msp430) \u0026 [msp430-rt](https://crates.io/crates/msp430-rt) \r\ncrates.\r\n\r\nUses the [msp430fr4133 peripheral access crate](https://crates.io/crates/msp430fr4133) \r\nwhich was generated by [svd2rust](https://docs.rs/svd2rust/0.17.0/svd2rust/) \r\n\u0026 [msp430_svd](https://github.com/pftbest/msp430_svd) for device level access.\r\n\r\n\r\nSystem interrupts are handled by `msp430-rt` and at the moment no other interrupts are implemented.\r\n\r\nThis project does not rely on any external hardware abstraction libraries.\r\nFYI: There is no HAL for msp430 (yet), however chances are the cortex-m HAL can be ported. 🙂\r\n\r\n### How to build\r\n\r\nInstall the latest msp430-gcc toolchain Texas Instruments: `http://www.ti.com/tool/MSP430-GCC-OPENSOURCE`\r\n\r\n\r\nLinux:\r\n\r\n```\r\nwget http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/8_3_2_2/export/msp430-gcc-8.3.1.25_linux64.tar.bz2 -O /tmp/msp430-gcc.tar.bz2\r\ntar -xvjf /tmp/msp430-gcc.tar.bz2\r\nexport PATH=$PATH:$PWD/msp430-gcc-8.3.1.25_linux64/bin\r\n```\r\nWindows:\r\n\r\nDownload \u0026 export msp43-gcc for Windows:\r\n```\r\nhttp://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/8_3_2_2/export/msp430-gcc-8.3.1.25_win64.zip\r\n```\r\nNote: Make sure to update your environment PATH variable to include the bin path.\r\nAlternatively run the installer from: https://gnutoolchains.com/download/\r\n\r\n#### Using cargo-xbuild\r\n\r\n```\r\ncargo install cargo-xbuild\r\nrustup component add rust-src\r\n```\r\n\r\nProducing the elf file:\r\n\r\n`cargo xbuild --target msp430-none-elf`\r\n\r\nOnce you've compiled you'll want to load the elf onto your msp430. I recommend using mspdebug: `https://github.com/dlbeer/mspdebug`\r\n`mspdebug` is also available on Linux in many of the built-in repositories.\r\n\r\nNote: `mspdebug` does _not_ work on `WSL` due to limitations with USB device access.\r\n\r\n##### Loading the elf file onto your msp430:\r\n\r\n* Use `mspdebug tilib` or `mspdebug ezfet`\r\n* `mspdebug load targetfile` and read the on-screen instructions.\r\n\r\n---\r\n\r\n#### Notes on functionality:\r\n\r\n* Displays the temperature from ADC12 on the LCD.\r\n* Ability to write numbers to the LCD.\r\n* Ability to write strings to the LCD (currently scrolling is not\r\nsupported).\r\n\r\nPlease keep in mind:\r\n* This is not a complete project, it was used as a learning experience writing Rust code for the msp430.\r\n* No interrupt handling aside from system hardware interrupts (which essentially are infinite loops).\r\n* The LCD implementation could be _much_ better.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstianeklund%2Fmsp430fr4133_temperature","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstianeklund%2Fmsp430fr4133_temperature","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstianeklund%2Fmsp430fr4133_temperature/lists"}