added the heapless crate and added new docs
This commit is contained in:
parent
a33a57bd49
commit
ba5662a17e
230 changed files with 48215 additions and 40 deletions
|
@ -91,6 +91,47 @@
|
|||
<a href="#91" id="91">91</a>
|
||||
<a href="#92" id="92">92</a>
|
||||
<a href="#93" id="93">93</a>
|
||||
<a href="#94" id="94">94</a>
|
||||
<a href="#95" id="95">95</a>
|
||||
<a href="#96" id="96">96</a>
|
||||
<a href="#97" id="97">97</a>
|
||||
<a href="#98" id="98">98</a>
|
||||
<a href="#99" id="99">99</a>
|
||||
<a href="#100" id="100">100</a>
|
||||
<a href="#101" id="101">101</a>
|
||||
<a href="#102" id="102">102</a>
|
||||
<a href="#103" id="103">103</a>
|
||||
<a href="#104" id="104">104</a>
|
||||
<a href="#105" id="105">105</a>
|
||||
<a href="#106" id="106">106</a>
|
||||
<a href="#107" id="107">107</a>
|
||||
<a href="#108" id="108">108</a>
|
||||
<a href="#109" id="109">109</a>
|
||||
<a href="#110" id="110">110</a>
|
||||
<a href="#111" id="111">111</a>
|
||||
<a href="#112" id="112">112</a>
|
||||
<a href="#113" id="113">113</a>
|
||||
<a href="#114" id="114">114</a>
|
||||
<a href="#115" id="115">115</a>
|
||||
<a href="#116" id="116">116</a>
|
||||
<a href="#117" id="117">117</a>
|
||||
<a href="#118" id="118">118</a>
|
||||
<a href="#119" id="119">119</a>
|
||||
<a href="#120" id="120">120</a>
|
||||
<a href="#121" id="121">121</a>
|
||||
<a href="#122" id="122">122</a>
|
||||
<a href="#123" id="123">123</a>
|
||||
<a href="#124" id="124">124</a>
|
||||
<a href="#125" id="125">125</a>
|
||||
<a href="#126" id="126">126</a>
|
||||
<a href="#127" id="127">127</a>
|
||||
<a href="#128" id="128">128</a>
|
||||
<a href="#129" id="129">129</a>
|
||||
<a href="#130" id="130">130</a>
|
||||
<a href="#131" id="131">131</a>
|
||||
<a href="#132" id="132">132</a>
|
||||
<a href="#133" id="133">133</a>
|
||||
<a href="#134" id="134">134</a>
|
||||
</pre></div><pre class="rust"><code><span class="attr">#![allow(unused_imports)]
|
||||
</span><span class="doccomment">/// Create a space for Progmem variable
|
||||
/// ## Example
|
||||
|
@ -109,6 +150,11 @@
|
|||
/// progmem!(
|
||||
/// static image: [u8; _] = [8, 8, 0x81, 0x00, 0x12, 0x40, 0x04, 0x11, 0x00, 0x04];
|
||||
/// );
|
||||
///
|
||||
/// // for a Vector
|
||||
/// progmem!(
|
||||
/// static mut walls: Vec<Player, 100> = Vec::new();
|
||||
/// );
|
||||
/// ```
|
||||
</span><span class="attr">#[macro_export]
|
||||
</span><span class="macro">macro_rules! </span>progmem {
|
||||
|
@ -124,6 +170,42 @@
|
|||
$(<span class="macro-nonterminal">$rest</span>)*
|
||||
}
|
||||
};
|
||||
(
|
||||
$( <span class="attr">#[<span class="macro-nonterminal">$attr</span>:meta] </span>)*
|
||||
<span class="macro-nonterminal">$v</span>:vis <span class="macro-nonterminal">$id</span>:ident <span class="kw-2">mut </span><span class="macro-nonterminal">$name</span>:ident: [<span class="macro-nonterminal">$ty</span>:ty; <span class="kw">_</span>] = <span class="macro-nonterminal">$value</span>:expr;
|
||||
$(<span class="macro-nonterminal">$rest</span>:tt)*
|
||||
) => {
|
||||
$( <span class="attr">#[<span class="macro-nonterminal">$attr</span>] </span>)*
|
||||
<span class="attr">#[link_section = <span class="string">".progmem.data"</span>]
|
||||
</span><span class="macro-nonterminal">$v $id </span><span class="kw-2">mut </span><span class="macro-nonterminal">$name</span>: [<span class="macro-nonterminal">$ty</span>; <span class="macro-nonterminal">$value</span>.len()] = <span class="macro-nonterminal">$value</span>;
|
||||
<span class="macro-nonterminal">$</span><span class="macro">crate::progmem!</span>{
|
||||
$(<span class="macro-nonterminal">$rest</span>)*
|
||||
}
|
||||
};
|
||||
(
|
||||
$( <span class="attr">#[<span class="macro-nonterminal">$attr</span>:meta] </span>)*
|
||||
<span class="macro-nonterminal">$v</span>:vis <span class="macro-nonterminal">$id</span>:ident <span class="macro-nonterminal">$name</span>:ident: <span class="macro-nonterminal">$ty</span>:ty = <span class="macro-nonterminal">$value</span>:expr;
|
||||
$(<span class="macro-nonterminal">$rest</span>:tt)*
|
||||
) => {
|
||||
$( <span class="attr">#[<span class="macro-nonterminal">$attr</span>] </span>)*
|
||||
<span class="attr">#[link_section = <span class="string">".progmem.data"</span>]
|
||||
</span><span class="macro-nonterminal">$v $id $name</span>: <span class="macro-nonterminal">$ty </span>= <span class="macro-nonterminal">$value</span>;
|
||||
<span class="macro-nonterminal">$</span><span class="macro">crate::progmem!</span>{
|
||||
$(<span class="macro-nonterminal">$rest</span>)*
|
||||
}
|
||||
};
|
||||
(
|
||||
$( <span class="attr">#[<span class="macro-nonterminal">$attr</span>:meta] </span>)*
|
||||
<span class="macro-nonterminal">$v</span>:vis <span class="macro-nonterminal">$id</span>:ident <span class="kw-2">mut </span><span class="macro-nonterminal">$name</span>:ident: <span class="macro-nonterminal">$ty</span>:ty = <span class="macro-nonterminal">$value</span>:expr;
|
||||
$(<span class="macro-nonterminal">$rest</span>:tt)*
|
||||
) => {
|
||||
$( <span class="attr">#[<span class="macro-nonterminal">$attr</span>] </span>)*
|
||||
<span class="attr">#[link_section = <span class="string">".progmem.data"</span>]
|
||||
</span><span class="macro-nonterminal">$v $id </span><span class="kw-2">mut </span><span class="macro-nonterminal">$name</span>: <span class="macro-nonterminal">$ty </span>= <span class="macro-nonterminal">$value</span>;
|
||||
<span class="macro-nonterminal">$</span><span class="macro">crate::progmem!</span>{
|
||||
$(<span class="macro-nonterminal">$rest</span>)*
|
||||
}
|
||||
};
|
||||
() => ()
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue