{"id":13411274,"url":"https://github.com/AdaCore/Lunar_Lander_Rotation_Demo","last_synced_at":"2025-03-14T17:30:29.237Z","repository":{"id":147275161,"uuid":"83451755","full_name":"AdaCore/Lunar_Lander_Rotation_Demo","owner":"AdaCore","description":"Demonstration program that interacts with the AdaFruit BNO055 breakout board in order to send orientation data to a host computer","archived":false,"fork":false,"pushed_at":"2020-07-16T13:35:24.000Z","size":14189,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-07-31T20:45:29.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ada","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/AdaCore.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-28T15:59:53.000Z","updated_at":"2022-11-04T08:00:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"0775eb61-7b01-463c-9ddb-8aada29c1981","html_url":"https://github.com/AdaCore/Lunar_Lander_Rotation_Demo","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/AdaCore%2FLunar_Lander_Rotation_Demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdaCore%2FLunar_Lander_Rotation_Demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdaCore%2FLunar_Lander_Rotation_Demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdaCore%2FLunar_Lander_Rotation_Demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdaCore","download_url":"https://codeload.github.com/AdaCore/Lunar_Lander_Rotation_Demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243618577,"owners_count":20320261,"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":[],"created_at":"2024-07-30T20:01:12.581Z","updated_at":"2025-03-14T17:30:29.232Z","avatar_url":"https://github.com/AdaCore.png","language":"Ada","funding_links":[],"categories":["Hardware and Embedded"],"sub_categories":["Applications"],"readme":"# Demo for the Bosch 9DOF IMU driving a 3-D model of the lunar lander\n\nIMPORTANT: Please note that this project exists as part of a blog entry,\narticle, or other similar material by AdaCore. It is provided for\nconvenient access to the software described therein. As such, it is not\nupdated regularly and may, over time, become inconsistent with the\nlatest versions of any tools and libraries it utilizes (for example, the\nAda Drivers Library).\n\nThis is a demonstration program that interacts with the AdaFruit BNO055 \nbreakout board in order to send orientation data to a host computer.The \nhost displays a 3D model of the Apollo Lunar Excursion Module (LEM) via \nthe \"Processing\" application (see below). The rotation data received \nfrom the target computer controls the rotation of the model display in \nreal time. \n\nRotation data are sent to the host via serial connection. You can use a\nUSB cable specifically designed to appear as a COM port, for example\nfrom Mouser (among others):\n\n* Mouser Part No:       895-TTL-232R-5V\n* Manufacturer Part No: TTL-232R-5V\n* Manufacturer:         FTDI\n\nbut note that the above is a 5-volt cable in case that is an issue. There\nare 3-volt versions available as well.\n\nThe end of the cable is a female header, described in the datasheet\n(`DS_TTL-232R_CABLES-217672.pdf`).  See pages 10 and 11 in particular.\n\nHeader pin 4 on the cable is TXD, the transmit data output.\nHeader pin 5 on the cable is RXD, the receive data input.\n\nConnect the cable header pins to the STMicro board GPIO pins as follows:\n\n* header pin 1, the black wire's header slot, to a ground pin on the board\n* header pin 4, the orange wire's header slot, to PC7\n* header pin 5, the yellow wire's header slot, to PC6\n\nOn the host, just plug in the USB-to-serial cable. Once the cable is\nconnected it will appear like a host serial port and is to be selected within\nthe Processing app displaying the model.\n\nThe USART is set to: 115_200, N81, no flow control, as expected by the\nProcessing app.\n\nThe model is displayed using the Processing app, freely available here:\n\n   https://processing.org/\n\nYou must download and install this Processing app on the host computer.\nThe app runs programs -- \"sketches\" -- in source files with the \"pde\"\nextension. Once installed, you can invoke Processing by double-clicking\n(say) on the specific sketch file that displays the model and listens to\nthe serial port. This program file is named \"lander.pde\" and is located\nin a subdirectory of the \"processing/\" dir included with this Ada program.\nWithin the Processing app, with this sketch file loaded, press the \"Run\"\nicon to start the \"lander\" sketch execution. It does not matter\nwhether you start the program on the ST Micro board before or after the\n\"lander\" program. Once \"lander\" is running in its separate window,\nselect the host port that the ST Micro board is connected to via the cable\ndescribed above. Now the displayed model will reflect the rotation data\ncoming from the BNO055 via the ST Micro board and the serial connection.\n\nWithin the \"lander\" execution window there is a checkbox that enables\ndisplay of the incoming serial data. These data are displayed in the\nProcessing app, not in the sketch window. You can use this display to\nverify data are coming from the ST Micro board. Note that calibration data\nare included, and that the model display will behave best once the gyro and\naccelerometer are both calibrated. You will need to manually calibrate the\nIMU board as usual, i.e., by physically moving it in space.\n\nNOTE: if the sketch running in the Processing app is unresponsive, there\nmay be multiple instances of \"java.exe\" running (on Windows). If so, shut\ndown Processing app, kill all these java executables, and restart the\nProcessing app (and then press the Run button to run the sketch).\n\nThis demo is based on one provided by AdaFruit:\nhttps://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor/overview\n\nThe model we use is available here:\nhttps://github.com/nasa/NASA-3D-Resources/tree/master/3D%20Models/Apollo%20Lunar%20Module\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAdaCore%2FLunar_Lander_Rotation_Demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAdaCore%2FLunar_Lander_Rotation_Demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAdaCore%2FLunar_Lander_Rotation_Demo/lists"}