|
1 |
| -# Zephyr Example Application |
2 |
| - |
3 |
| -<a href="https://github.com/zephyrproject-rtos/example-application/actions/workflows/build.yml?query=branch%3Amain"> |
4 |
| - <img src="https://github.com/zephyrproject-rtos/example-application/actions/workflows/build.yml/badge.svg?event=push"> |
5 |
| -</a> |
6 |
| -<a href="https://github.com/zephyrproject-rtos/example-application/actions/workflows/docs.yml?query=branch%3Amain"> |
7 |
| - <img src="https://github.com/zephyrproject-rtos/example-application/actions/workflows/docs.yml/badge.svg?event=push"> |
8 |
| -</a> |
9 |
| -<a href="https://zephyrproject-rtos.github.io/example-application"> |
10 |
| - <img alt="Documentation" src="https://img.shields.io/badge/documentation-3D578C?logo=sphinx&logoColor=white"> |
11 |
| -</a> |
12 |
| -<a href="https://zephyrproject-rtos.github.io/example-application/doxygen"> |
13 |
| - <img alt="API Documentation" src="https://img.shields.io/badge/API-documentation-3D578C?logo=c&logoColor=white"> |
14 |
| -</a> |
15 |
| - |
16 |
| -This repository contains a Zephyr example application. The main purpose of this |
17 |
| -repository is to serve as a reference on how to structure Zephyr-based |
18 |
| -applications. Some of the features demonstrated in this example are: |
19 |
| - |
20 |
| -- Basic [Zephyr application][app_dev] skeleton |
21 |
| -- [Zephyr workspace applications][workspace_app] |
22 |
| -- [Zephyr modules][modules] |
23 |
| -- [West T2 topology][west_t2] |
24 |
| -- [Custom boards][board_porting] |
25 |
| -- Custom [devicetree bindings][bindings] |
26 |
| -- Out-of-tree [drivers][drivers] |
27 |
| -- Out-of-tree libraries |
28 |
| -- Example CI configuration (using GitHub Actions) |
29 |
| -- Custom [west extension][west_ext] |
30 |
| -- Custom [Zephyr runner][runner_ext] |
31 |
| -- Doxygen and Sphinx documentation boilerplate |
32 |
| - |
33 |
| -This repository is versioned together with the [Zephyr main tree][zephyr]. This |
34 |
| -means that every time that Zephyr is tagged, this repository is tagged as well |
35 |
| -with the same version number, and the [manifest](west.yml) entry for `zephyr` |
36 |
| -will point to the corresponding Zephyr tag. For example, the `example-application` |
37 |
| -v2.6.0 will point to Zephyr v2.6.0. Note that the `main` branch always |
38 |
| -points to the development branch of Zephyr, also `main`. |
39 |
| - |
40 |
| -[app_dev]: https://docs.zephyrproject.org/latest/develop/application/index.html |
41 |
| -[workspace_app]: https://docs.zephyrproject.org/latest/develop/application/index.html#zephyr-workspace-app |
42 |
| -[modules]: https://docs.zephyrproject.org/latest/develop/modules.html |
43 |
| -[west_t2]: https://docs.zephyrproject.org/latest/develop/west/workspaces.html#west-t2 |
44 |
| -[board_porting]: https://docs.zephyrproject.org/latest/guides/porting/board_porting.html |
45 |
| -[bindings]: https://docs.zephyrproject.org/latest/guides/dts/bindings.html |
46 |
| -[drivers]: https://docs.zephyrproject.org/latest/reference/drivers/index.html |
47 |
| -[zephyr]: https://github.com/zephyrproject-rtos/zephyr |
48 |
| -[west_ext]: https://docs.zephyrproject.org/latest/develop/west/extensions.html |
49 |
| -[runner_ext]: https://docs.zephyrproject.org/latest/develop/modules.html#external-runners |
50 |
| - |
| 1 | +<div id="top"> |
| 2 | + <p> |
| 3 | + <h2>This project is work in progress and is not for use or testing yet! Really, you don't want to use it at the moment!</h2> |
| 4 | + </p> |
| 5 | + <br /> |
| 6 | +</div> |
| 7 | + |
| 8 | +<!-- PROJECT SHIELDS --> |
| 9 | +<!-- |
| 10 | +*** I'm using markdown "reference style" links for readability. |
| 11 | +*** Reference links are enclosed in brackets [ ] instead of parentheses ( ). |
| 12 | +*** See the bottom of this document for the declaration of the reference variables |
| 13 | +*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. |
| 14 | +*** https://www.markdownguide.org/basic-syntax/#reference-style-links |
| 15 | +--> |
| 16 | +[![Contributors][contributors-shield]][contributors-url] |
| 17 | +[![Forks][forks-shield]][forks-url] |
| 18 | +[![Stargazers][stars-shield]][stars-url] |
| 19 | +[![Issues][issues-shield]][issues-url] |
| 20 | +[![MIT License][license-shield]][license-url] |
| 21 | + |
| 22 | + |
| 23 | +<!-- PROJECT LOGO --> |
| 24 | +<br /> |
| 25 | +<div align="center"> |
| 26 | + <a href="https://github.com/OpenAstroTech/OpenAstroFirmware"> |
| 27 | + <img src="assets/images/logo.png" alt="Logo" width="80" height="80"> |
| 28 | + </a> |
| 29 | + <h3 align="center">OpenAstroFirmware</h3> |
| 30 | + <p align="center"> |
| 31 | + Official Firmware for DIY astronomical telescope mounts. This firmware is the 2.x successor of the <a href="https://github.com/OpenAstroTech/OpenAstroTracker-Firmware">OpenAstroTracker-Firmware</a>. |
| 32 | + </p> |
| 33 | +</div> |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | +<!-- TABLE OF CONTENTS --> |
| 38 | +<details> |
| 39 | + <summary>Table of Contents</summary> |
| 40 | + <ol> |
| 41 | + <li> |
| 42 | + <a href="#about-the-project">About The Project</a> |
| 43 | + <ul> |
| 44 | + <li><a href="#built-with">Built With</a></li> |
| 45 | + </ul> |
| 46 | + </li> |
| 47 | + <li> |
| 48 | + <a href="#getting-started">Getting Started</a> |
| 49 | + <ul> |
| 50 | + <li><a href="#supported-hardware">Supported hardware</a></li> |
| 51 | + <li><a href="#prerequisites">Prerequisites</a></li> |
| 52 | + <li><a href="#configuration">Configuration</a></li> |
| 53 | + <li><a href="#build">Build</a></li> |
| 54 | + <li><a href="#upload">Upload</a></li> |
| 55 | + </ul> |
| 56 | + </li> |
| 57 | + <li><a href="#usage">Usage</a></li> |
| 58 | + <li><a href="#roadmap">Roadmap</a></li> |
| 59 | + <li><a href="#contributing">Contributing</a></li> |
| 60 | + <li><a href="#license">License</a></li> |
| 61 | + <li><a href="#contact">Contact</a></li> |
| 62 | + </ol> |
| 63 | +</details> |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | +<!-- ABOUT THE PROJECT --> |
| 68 | +## About The Project |
| 69 | + |
| 70 | +It was a very long and educational time developing, testing and improving [OpenAstroTracker-Firmware](https://github.com/OpenAstroTech/OpenAstroTracker-Firmware) for all of us. It evolved and grew over time as did our hardware support. Amount and type of supported mounts, components, addons and software tools keep increasing. This is why dev team decided to go one step back and redesign the firmware based on the experience with v1 and community feedback and requests. This firmware aims to bring following improvements over time compared to OpenAstroTracker-Firmware: |
| 71 | + |
| 72 | +### Usage |
| 73 | +* Easier configuration, flashing and updates |
| 74 | +* Improved stability |
| 75 | +* Improved/Automated calibration |
| 76 | +* New types of addons (these could be among other things Touch display, Mobile app etc.) |
| 77 | +* Ability to track "custom" objects (e.g. Sun, Moon, ISS, Comets etc.) |
| 78 | +* Support for more types of mounts (OAT, OAM, any further Mounts and their versions designed by OpenAstroTech and retrofitted 3rd party mounts) |
| 79 | +* Several new QoL features |
| 80 | + |
| 81 | +### Development |
| 82 | +* Easier maintenability and extendability |
| 83 | +* Automated testing |
| 84 | +* Support for modern 32-bit boards to improve performance, accuracy and reduce the need for hardcore optimizations. |
| 85 | +* In hardware debugging |
| 86 | +* Higher code quality by following best practices and a predefined architecture design |
| 87 | +* Ability to test and run main code and test directly on the host pc to simplify issue analysis |
| 88 | +* Support and usage of modern c++ features to improve readability and clarity of the code |
| 89 | + |
| 90 | +<p align="right">(<a href="#top">back to top</a>)</p> |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | +### Built With |
| 95 | + |
| 96 | +* [Zephyr]([https://platformio.org/](https://docs.zephyrproject.org/3.7.0/)) |
| 97 | + |
| 98 | +<p align="right">(<a href="#top">back to top</a>)</p> |
| 99 | + |
| 100 | + |
| 101 | + |
| 102 | +<!-- GETTING STARTED --> |
51 | 103 | ## Getting Started
|
52 | 104 |
|
53 |
| -Before getting started, make sure you have a proper Zephyr development |
54 |
| -environment. Follow the official |
55 |
| -[Zephyr Getting Started Guide](https://docs.zephyrproject.org/latest/getting_started/index.html). |
| 105 | +This is an example of how you may give instructions on setting up your project locally. |
| 106 | +To get a local copy up and running follow these simple example steps. |
| 107 | + |
| 108 | +### Supported hardware |
| 109 | + |
| 110 | +*TBD* |
| 111 | + |
| 112 | +### Prerequisites |
| 113 | + |
| 114 | +*TBD* |
| 115 | + |
| 116 | +### Configuration |
| 117 | + |
| 118 | +*TBD* |
| 119 | + |
| 120 | +### Build |
| 121 | + |
| 122 | +*TBD* |
| 123 | + |
| 124 | +### Upload |
| 125 | + |
| 126 | +*TBD* |
| 127 | + |
| 128 | +<p align="right">(<a href="#top">back to top</a>)</p> |
| 129 | + |
| 130 | + |
| 131 | + |
| 132 | +<!-- USAGE EXAMPLES --> |
| 133 | +## Usage |
| 134 | + |
| 135 | +*TBD* |
| 136 | + |
| 137 | +<p align="right">(<a href="#top">back to top</a>)</p> |
| 138 | + |
56 | 139 |
|
57 |
| -### Initialization |
58 | 140 |
|
59 |
| -The first step is to initialize the workspace folder (``my-workspace``) where |
60 |
| -the ``example-application`` and all Zephyr modules will be cloned. Run the following |
61 |
| -command: |
| 141 | +<!-- ROADMAP --> |
| 142 | +## Roadmap |
62 | 143 |
|
63 |
| -```shell |
64 |
| -# initialize my-workspace for the example-application (main branch) |
65 |
| -west init -m https://github.com/zephyrproject-rtos/example-application --mr main my-workspace |
66 |
| -# update Zephyr modules |
67 |
| -cd my-workspace |
68 |
| -west update |
69 |
| -``` |
| 144 | +- [ ] Build environment setup |
| 145 | + - [ ] *TBD* |
| 146 | +- [ ] MVP |
| 147 | + - [ ] *TBD* |
70 | 148 |
|
71 |
| -### Building and running |
| 149 | +See the [open issues](https://github.com/OpenAstroTech/OpenAstroFirmware/issues) for a full list of proposed features (and known issues). |
72 | 150 |
|
73 |
| -To build the application, run the following command: |
| 151 | +<p align="right">(<a href="#top">back to top</a>)</p> |
74 | 152 |
|
75 |
| -```shell |
76 |
| -cd example-application |
77 |
| -west build -b $BOARD app |
78 |
| -``` |
79 | 153 |
|
80 |
| -where `$BOARD` is the target board. |
81 | 154 |
|
82 |
| -You can use the `custom_plank` board found in this |
83 |
| -repository. Note that Zephyr sample boards may be used if an |
84 |
| -appropriate overlay is provided (see `app/boards`). |
| 155 | +<!-- CONTRIBUTING --> |
| 156 | +## Contributing |
85 | 157 |
|
86 |
| -A sample debug configuration is also provided. To apply it, run the following |
87 |
| -command: |
| 158 | +Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. |
88 | 159 |
|
89 |
| -```shell |
90 |
| -west build -b $BOARD app -- -DEXTRA_CONF_FILE=debug.conf |
91 |
| -``` |
| 160 | +If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". |
| 161 | +Don't forget to give the project a star! Thanks again! |
92 | 162 |
|
93 |
| -Once you have built the application, run the following command to flash it: |
| 163 | +1. Fork the Project |
| 164 | +2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) |
| 165 | +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) |
| 166 | +4. Push to the Branch (`git push origin feature/AmazingFeature`) |
| 167 | +5. Open a Pull Request |
94 | 168 |
|
95 |
| -```shell |
96 |
| -west flash |
97 |
| -``` |
| 169 | +<p align="right">(<a href="#top">back to top</a>)</p> |
98 | 170 |
|
99 |
| -### Testing |
100 | 171 |
|
101 |
| -To execute Twister integration tests, run the following command: |
102 | 172 |
|
103 |
| -```shell |
104 |
| -west twister -T tests --integration |
105 |
| -``` |
| 173 | +<!-- LICENSE --> |
| 174 | +## License |
106 | 175 |
|
107 |
| -### Documentation |
| 176 | +Distributed under the MIT License. See `LICENSE.txt` for more information. |
108 | 177 |
|
109 |
| -A minimal documentation setup is provided for Doxygen and Sphinx. To build the |
110 |
| -documentation first change to the ``doc`` folder: |
| 178 | +<p align="right">(<a href="#top">back to top</a>)</p> |
111 | 179 |
|
112 |
| -```shell |
113 |
| -cd doc |
114 |
| -``` |
115 | 180 |
|
116 |
| -Before continuing, check if you have Doxygen installed. It is recommended to |
117 |
| -use the same Doxygen version used in [CI](.github/workflows/docs.yml). To |
118 |
| -install Sphinx, make sure you have a Python installation in place and run: |
119 | 181 |
|
120 |
| -```shell |
121 |
| -pip install -r requirements.txt |
122 |
| -``` |
| 182 | +<!-- CONTACT --> |
| 183 | +## Contact |
123 | 184 |
|
124 |
| -API documentation (Doxygen) can be built using the following command: |
| 185 | +Project Link: [https://github.com/OpenAstroTech/OpenAstroFirmware](https://github.com/OpenAstroTech/OpenAstroFirmware) |
125 | 186 |
|
126 |
| -```shell |
127 |
| -doxygen |
128 |
| -``` |
| 187 | +<p align="right">(<a href="#top">back to top</a>)</p> |
129 | 188 |
|
130 |
| -The output will be stored in the ``_build_doxygen`` folder. Similarly, the |
131 |
| -Sphinx documentation (HTML) can be built using the following command: |
132 | 189 |
|
133 |
| -```shell |
134 |
| -make html |
135 |
| -``` |
136 | 190 |
|
137 |
| -The output will be stored in the ``_build_sphinx`` folder. You may check for |
138 |
| -other output formats other than HTML by running ``make help``. |
| 191 | +<!-- MARKDOWN LINKS & IMAGES --> |
| 192 | +<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> |
| 193 | +[contributors-shield]: https://img.shields.io/github/contributors/OpenAstroTech/OpenAstroFirmware.svg?style=for-the-badge |
| 194 | +[contributors-url]: https://github.com/OpenAstroTech/OpenAstroFirmware/graphs/contributors |
| 195 | +[forks-shield]: https://img.shields.io/github/forks/OpenAstroTech/OpenAstroFirmware.svg?style=for-the-badge |
| 196 | +[forks-url]: https://github.com/OpenAstroTech/OpenAstroFirmware/network/members |
| 197 | +[stars-shield]: https://img.shields.io/github/stars/OpenAstroTech/OpenAstroFirmware.svg?style=for-the-badge |
| 198 | +[stars-url]: https://github.com/OpenAstroTech/OpenAstroFirmware/stargazers |
| 199 | +[issues-shield]: https://img.shields.io/github/issues/OpenAstroTech/OpenAstroFirmware.svg?style=for-the-badge |
| 200 | +[issues-url]: https://github.com/OpenAstroTech/OpenAstroFirmware/issues |
| 201 | +[license-shield]: https://img.shields.io/github/license/OpenAstroTech/OpenAstroFirmware.svg?style=for-the-badge |
| 202 | +[license-url]: https://github.com/OpenAstroTech/OpenAstroFirmware/blob/master/LICENSE |
0 commit comments