Skip to content

Commit

Permalink
ChibiOS 19.1.3 with Teensy 4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
greiman committed Oct 3, 2019
1 parent 6a05964 commit a24c7fe
Show file tree
Hide file tree
Showing 299 changed files with 69,221 additions and 24,905 deletions.
31 changes: 23 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,40 @@
#### ChRt - ChibiOS/RT Arduino Library

This is the initial release of an improved version of ChibiOS-Arduino.
This is a version of ChibiOS for Arduino.
I am starting a new repository since this version is not backward
compatible with the previous library. Both AVR and ARM are now in
compatible with the previous libraries. Both AVR and ARM are now in
a single library.

I have done some testing with an Uno, Zero, Due, and Teensy 3.6 but
bugs are still likely.
This version adds support for Teensy 4.0. Teensy 4.0 has support for free
running tick-less mode and periodic mode. The default for Teensy 4.0 is
tick-less mode. Edit libraries/ChRt/src/teensy4/chconf_teensy4.h to
select periodic mode or change parameters for Teensy 4.

See this article about ChibiOS tick-less mode:

http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:tickless

AVR also supports tick-less mode. The default is periodic mode. Edit
libraries/ChRt/src/teensy4/chconf_teensy4.h to select tick-less mode.

Due, SAMD, and Teensy 3.x are supported in periodic mode.

The base code for ChRt was written by Giovanni Di Sirio, the author
of ChibiOS/Nil and ChibiOS/RT.

See this site for detailed documentation of ChibiOS/RT 19.1.

http://www.chibios.org/dokuwiki/doku.php

The code is version 4.0.0 of ChibiOS/RT from a recent, 17.6, version of ChibiOS.
The kernel is version 6.0.3 of ChibiOS/RT from ChibiOS release 19.1.3.

https://osdn.net/projects/chibios/releases

If you are installing from GitHub repo zips, rename the folder ChRt
If you are installing from the GitHub repo zips, rename the folder ChRt
before copying it to your Arduino/libraries folder.

Please read doc/ChRt.html for more information. See the Examples section
of the html documentation.
Please read libraries/ChRt/doc/ChRt.html for more information. See the
Examples section of the html documentation.

Start with the ChBlink example which is traditional for almost every RTOS.

6 changes: 3 additions & 3 deletions doc/MainPage/ChRtMainPage.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
\mainpage ChibiOS RTOS library
<CENTER>William Greiman</CENTER>
<CENTER>1 Aug 2017</CENTER>
<CENTER>1 Oct 2019</CENTER>
\section Intro Introduction
Expand All @@ -16,11 +16,11 @@ MCAL (Microcontroller Abstraction Layer) development team based in the Arzano
This package contains a version of the ChbiOS/RT RTOS for AVR Arduinos,
SAMD Arduinos, Arduino Due, and Teensy 3.x.
The port is based on ChibiOS 17.6.0. The ChibiOS/RT kernel is version 4.0.0.
The port is based on ChibiOS 19.1.3. The ChibiOS/RT kernel is version 6.0.3.
These systems are packaged as the Arduino library ChRt.
The documentation for ChibiOS/RT 4.0.0 is located here:
The documentation for ChibiOS/RT 6.0.3 is located here:
http://www.chibios.org/dokuwiki/doku.php?id=chibios:documentation:start
Expand Down
102 changes: 40 additions & 62 deletions doc/html/_ch_rt_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,15 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>ChRt: C:/Users/bill/Documents/ArduinoSdFs/libraries/ChRt/src/ChRt.h File Reference</title>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ChRt: C:/Users/bill/Documents/ArduinoChRt/libraries/ChRt/src/ChRt.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
Expand All @@ -32,38 +30,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
Expand Down Expand Up @@ -94,7 +76,8 @@

<p>main ChRt include file.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;rt/ch.h&quot;</code><br />
<div class="textblock"><code>#include &quot;rt/include/ch.h&quot;</code><br />
<code>#include &quot;hal_st.h&quot;</code><br />
</div>
<p><a href="_ch_rt_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
Expand All @@ -117,13 +100,13 @@
<tr class="separator:a9a1425ec66529dd4aec14702b02451d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a5009aeaddf095fe34fee2fd029171c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_ch_rt_8h.html#a8a5009aeaddf095fe34fee2fd029171c">errorBlink</a> (int n)</td></tr>
<tr class="separator:a8a5009aeaddf095fe34fee2fd029171c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf8591d7b313ba25ab8365d5ac0a8eb7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_ch_rt_8h.html#abf8591d7b313ba25ab8365d5ac0a8eb7">st_lld_init</a> (void)</td></tr>
<tr class="separator:abf8591d7b313ba25ab8365d5ac0a8eb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>main ChRt include file. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="acdb3e86f36ba7ea83d508e406d29dca1"></a>
<a id="acdb3e86f36ba7ea83d508e406d29dca1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdb3e86f36ba7ea83d508e406d29dca1">&#9670;&nbsp;</a></span>HANDLER_STACK_SIZE</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand All @@ -137,7 +120,9 @@
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a745e6a77bbc187994fb79c2eb5450769"></a>
<a id="a745e6a77bbc187994fb79c2eb5450769"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a745e6a77bbc187994fb79c2eb5450769">&#9670;&nbsp;</a></span>chBegin()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand All @@ -159,7 +144,9 @@ <h2 class="groupheader">Function Documentation</h2>

</div>
</div>
<a class="anchor" id="a0e513af394d20a21b12570380bb56773"></a>
<a id="a0e513af394d20a21b12570380bb56773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e513af394d20a21b12570380bb56773">&#9670;&nbsp;</a></span>chUnusedHandlerStack()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand All @@ -176,7 +163,9 @@ <h2 class="groupheader">Function Documentation</h2>

</div>
</div>
<a class="anchor" id="a2b867b2762d19663f32931a3fa4ae94c"></a>
<a id="a2b867b2762d19663f32931a3fa4ae94c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b867b2762d19663f32931a3fa4ae94c">&#9670;&nbsp;</a></span>chUnusedMainStack()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand All @@ -193,7 +182,9 @@ <h2 class="groupheader">Function Documentation</h2>

</div>
</div>
<a class="anchor" id="a9ae19ba1b487fdb8ea7d1608e64a2125"></a>
<a id="a9ae19ba1b487fdb8ea7d1608e64a2125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ae19ba1b487fdb8ea7d1608e64a2125">&#9670;&nbsp;</a></span>chUnusedThreadStack()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand Down Expand Up @@ -228,7 +219,9 @@ <h2 class="groupheader">Function Documentation</h2>

</div>
</div>
<a class="anchor" id="a8a5009aeaddf095fe34fee2fd029171c"></a>
<a id="a8a5009aeaddf095fe34fee2fd029171c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a5009aeaddf095fe34fee2fd029171c">&#9670;&nbsp;</a></span>errorBlink()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand All @@ -251,7 +244,9 @@ <h2 class="groupheader">Function Documentation</h2>

</div>
</div>
<a class="anchor" id="a9a1425ec66529dd4aec14702b02451d2"></a>
<a id="a9a1425ec66529dd4aec14702b02451d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a1425ec66529dd4aec14702b02451d2">&#9670;&nbsp;</a></span>heapEnd()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
Expand All @@ -265,31 +260,14 @@ <h2 class="groupheader">Function Documentation</h2>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Heap end address. Best if called from the main thread. </dd></dl>

</div>
</div>
<a class="anchor" id="abf8591d7b313ba25ab8365d5ac0a8eb7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void st_lld_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Low level ST driver initialization. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</a> 1.8.14
</small></address>
</body>
</html>
Loading

0 comments on commit a24c7fe

Please sign in to comment.