Skip to content

Commit f327c12

Browse files
authored
add content to rtos page (#25)
1 parent 53c9a94 commit f327c12

5 files changed

Lines changed: 192 additions & 103 deletions

File tree

docs/_/js/search-ui.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,9 @@
133133
document.head.appendChild(link);
134134
}
135135

136-
function highlightPageTitle (title, terms) {
137-
const positions = getTermPosition(title, terms);
138-
return buildHighlightedText(title, positions, snippetLength)
139-
}
140-
141136
function highlightSectionTitle (sectionTitle, terms) {
142137
if (sectionTitle) {
143-
const text = sectionTitle.text;
138+
const text = sectionTitle.title ?? sectionTitle.text;
144139
const positions = getTermPosition(text, terms);
145140
return buildHighlightedText(text, positions, snippetLength)
146141
}
@@ -156,8 +151,7 @@
156151
return []
157152
}
158153

159-
function highlightText (doc, terms) {
160-
const text = doc.text;
154+
function highlightText (text, terms) {
161155
const positions = getTermPosition(text, terms);
162156
return buildHighlightedText(text, positions, snippetLength)
163157
}
@@ -183,9 +177,12 @@
183177
}
184178
}
185179
return {
186-
pageTitleNodes: highlightPageTitle(doc.title, terms.title || []),
180+
pageTitleNodes: highlightText(doc.title, terms.title || []),
187181
sectionTitleNodes: highlightSectionTitle(sectionTitle, terms.title || []),
188-
pageContentNodes: highlightText(doc, terms.text || []),
182+
pageContentNodes: highlightText(
183+
sectionTitle?.title && sectionTitle.text ? sectionTitle.text : doc.text,
184+
terms.text || []
185+
),
189186
pageKeywordNodes: highlightKeyword(doc, terms.keyword || []),
190187
}
191188
}
@@ -199,12 +196,12 @@
199196
let sectionTitle;
200197
if (ids.length > 1) {
201198
const titleId = ids[1];
202-
sectionTitle = doc.titles.filter(function (item) {
199+
sectionTitle = doc.titles.find(function (item) {
203200
return String(item.id) === titleId
204-
})[0];
201+
});
205202
}
206203
const metadata = item.matchData.metadata;
207-
const highlightingResult = highlightHit(metadata, sectionTitle, doc);
204+
const highlightingResult = highlightHit(metadata, sectionTitle || doc, doc);
208205
const componentVersion = store.componentVersions[`${doc.component}/${doc.version}`];
209206
if (componentVersion !== undefined && currentComponent !== componentVersion) {
210207
const searchResultComponentHeader = document.createElement('div');

docs/os/rtos.html

Lines changed: 77 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -273,31 +273,48 @@ <h1 class="page">Sistemas Operativos en Tiempo Real</h1>
273273
<div class="sect1">
274274
<h2 id="freertos"><a class="anchor" href="#freertos"></a>FreeRTOS</h2>
275275
<div class="sectionbody">
276+
<div class="paragraph">
277+
<p>FreeRTOS es un kernel de sistema operativo en tiempo real (RTOS) diseñado específicamente para sistemas embebidos. Se ha adaptado a más de 40 arquitecturas de microcontroladores (incluyendo el ESP32) y se distribuye bajo licencia MIT.</p>
278+
</div>
279+
<div class="paragraph">
280+
<p>Está diseñado para ser compacto y sencillo, y está escrito principalmente en C. FreeRTOS proporciona mecanismos para la gestión de múltiples hilos (tareas), mutexes, semáforos y temporizadores, manteniendo un bajo consumo de memoria y tiempos de ejecución rápidos.</p>
281+
</div>
282+
<div class="sect2">
283+
<h3 id="recursos"><a class="anchor" href="#recursos"></a>Recursos</h3>
276284
<div class="ulist">
277285
<ul>
278286
<li>
279-
<p><a href="https://www.youtube.com/watch?v=kcsHsoWmbDI" class="bare">https://www.youtube.com/watch?v=kcsHsoWmbDI</a></p>
287+
<p>Tutorial en video sobre FreeRTOS: <a href="https://www.youtube.com/watch?v=kcsHsoWmbDI" class="bare">https://www.youtube.com/watch?v=kcsHsoWmbDI</a></p>
280288
</li>
281289
<li>
282-
<p><a href="https://www.espressif.com/en/products/sdks/esp-idf" class="bare">https://www.espressif.com/en/products/sdks/esp-idf</a></p>
290+
<p>Documentación ESP-IDF (con FreeRTOS): <a href="https://www.espressif.com/en/products/sdks/esp-idf" class="bare">https://www.espressif.com/en/products/sdks/esp-idf</a></p>
283291
</li>
284292
<li>
285-
<p><a href="https://www.youtube.com/watch?v=s5DnmeOwkxo" class="bare">https://www.youtube.com/watch?v=s5DnmeOwkxo</a></p>
293+
<p>Otro tutorial en video sobre FreeRTOS: <a href="https://www.youtube.com/watch?v=s5DnmeOwkxo" class="bare">https://www.youtube.com/watch?v=s5DnmeOwkxo</a></p>
286294
</li>
287295
<li>
288-
<p><a href="https://www.youtube.com/watch?v=F321087yYy4" class="bare">https://www.youtube.com/watch?v=F321087yYy4</a></p>
296+
<p>Introducción a las tareas en FreeRTOS: <a href="https://www.youtube.com/watch?v=F321087yYy4" class="bare">https://www.youtube.com/watch?v=F321087yYy4</a></p>
289297
</li>
290298
</ul>
291299
</div>
292300
</div>
293301
</div>
302+
</div>
294303
<div class="sect1">
295304
<h2 id="zephyr"><a class="anchor" href="#zephyr"></a>Zephyr</h2>
296305
<div class="sectionbody">
306+
<div class="paragraph">
307+
<p>Zephyr es un RTOS compacto y escalable que ofrece un mayor control sobre el sistema a cambio de una mayor complejidad. Soporta más de 170 dispositivos y es altamente configurable y modular. Permite desarrollar aplicaciones para diversas arquitecturas mediante Device Trees, utilizados para describir el hardware y la información de configuración.</p>
308+
</div>
309+
<div class="paragraph">
310+
<p>El proyecto se beneficia de un ciclo de vida de desarrollo seguro, que incluye validación de seguridad, fuzz testing, penetration testing y análisis de código estático.</p>
311+
</div>
312+
<div class="sect2">
313+
<h3 id="recursos-2"><a class="anchor" href="#recursos-2"></a>Recursos</h3>
297314
<div class="ulist">
298315
<ul>
299316
<li>
300-
<p><a href="https://www.youtube.com/watch?v=Z_7y_4O7yTw&amp;list=PLEQVp_6G_y4iFfemAbFsKw6tsGABarTwp&amp;index=1" class="bare">https://www.youtube.com/watch?v=Z_7y_4O7yTw&amp;list=PLEQVp_6G_y4iFfemAbFsKw6tsGABarTwp&amp;index=1</a></p>
317+
<p><a href="https://www.youtube.com/watch?v=Z_7y_4O7yTw" class="bare">https://www.youtube.com/watch?v=Z_7y_4O7yTw</a></p>
301318
</li>
302319
<li>
303320
<p><a href="https://www.youtube.com/watch?v=jR5E5Kz9A-k" class="bare">https://www.youtube.com/watch?v=jR5E5Kz9A-k</a></p>
@@ -312,21 +329,23 @@ <h2 id="zephyr"><a class="anchor" href="#zephyr"></a>Zephyr</h2>
312329
</div>
313330
</div>
314331
</div>
332+
</div>
315333
<div class="sect1">
316-
<h2 id="mbed"><a class="anchor" href="#mbed"></a>Mbed</h2>
334+
<h2 id="mbed-os"><a class="anchor" href="#mbed-os"></a>Mbed OS</h2>
317335
<div class="sectionbody">
318-
<div class="ulist">
319-
<ul>
320-
<li>
321-
<p><a href="https://os.mbed.com/" class="bare">https://os.mbed.com/</a></p>
322-
</li>
323-
</ul>
336+
<div class="paragraph">
337+
<p>Mbed OS es un sistema operativo para dispositivos IoT diseñado para un desarrollo rápido, basado en microcontroladores Arm Cortex-M de 32 bits y mantenido por Arm. La plataforma alcanzará su fin de vida (EOL) en julio de 2026, momento a partir del cual dejará de recibir mantenimiento por parte de Arm.</p>
324338
</div>
325339
</div>
326340
</div>
327341
<div class="sect1">
328-
<h2 id="r-thread"><a class="anchor" href="#r-thread"></a>R-Thread</h2>
342+
<h2 id="rt-thread"><a class="anchor" href="#rt-thread"></a>RT-Thread</h2>
329343
<div class="sectionbody">
344+
<div class="paragraph">
345+
<p>RT-Thread es un RTOS para dispositivos IoT basado en C, que cuenta con un amplio ecosistema con soporte para diversos paquetes de software, incluyendo componentes externos. Esto se facilita por el diseño modular de su kernel, donde los paquetes se compilan por separado del kernel y luego se cargan directamente durante la ejecución. Es ideal para aplicaciones más complejas y de mayor escala.</p>
346+
</div>
347+
<div class="sect2">
348+
<h3 id="recursos-3"><a class="anchor" href="#recursos-3"></a>Recursos</h3>
330349
<div class="ulist">
331350
<ul>
332351
<li>
@@ -339,9 +358,15 @@ <h2 id="r-thread"><a class="anchor" href="#r-thread"></a>R-Thread</h2>
339358
</div>
340359
</div>
341360
</div>
361+
</div>
342362
<div class="sect1">
343363
<h2 id="eclipse-thread-x"><a class="anchor" href="#eclipse-thread-x"></a>Eclipse Thread-X</h2>
344364
<div class="sectionbody">
365+
<div class="paragraph">
366+
<p>Eclipse Thread-X es un RTOS diseñado para sistemas profundamente embebidos que utiliza una arquitectura de picokernel. Ofrece scheduling avanzado, message passing, gestión de interrupciones y servicios de mensajería. Cuenta con certificaciones para aplicaciones donde la seguridad es crítica.</p>
367+
</div>
368+
<div class="sect2">
369+
<h3 id="recursos-4"><a class="anchor" href="#recursos-4"></a>Recursos</h3>
345370
<div class="ulist">
346371
<ul>
347372
<li>
@@ -351,9 +376,15 @@ <h2 id="eclipse-thread-x"><a class="anchor" href="#eclipse-thread-x"></a>Eclipse
351376
</div>
352377
</div>
353378
</div>
379+
</div>
354380
<div class="sect1">
355-
<h2 id="ros"><a class="anchor" href="#ros"></a>ROS</h2>
381+
<h2 id="ros-robot-operating-system"><a class="anchor" href="#ros-robot-operating-system"></a>ROS (Robot Operating System)</h2>
356382
<div class="sectionbody">
383+
<div class="paragraph">
384+
<p>Robot Operating System (ROS) es un conjunto de bibliotecas de software y herramientas que facilitan el desarrollo de robots. Incluye desde <strong>drivers</strong> hasta algoritmos, es multiplataforma y soporta Linux, macOS, Windows, así como plataformas embebidas a través de micro-ROS.</p>
385+
</div>
386+
<div class="sect2">
387+
<h3 id="recursos-5"><a class="anchor" href="#recursos-5"></a>Recursos</h3>
357388
<div class="ulist">
358389
<ul>
359390
<li>
@@ -363,9 +394,15 @@ <h2 id="ros"><a class="anchor" href="#ros"></a>ROS</h2>
363394
</div>
364395
</div>
365396
</div>
397+
</div>
366398
<div class="sect1">
367-
<h2 id="nuttx"><a class="anchor" href="#nuttx"></a>Nuttx</h2>
399+
<h2 id="apache-nuttx"><a class="anchor" href="#apache-nuttx"></a>Apache Nuttx</h2>
368400
<div class="sectionbody">
401+
<div class="paragraph">
402+
<p>Apache Nuttx es un RTOS que se enfoca en el cumplimiento de estándares, principalmente POSIX y ANSI C. También adopta funcionalidades de otras APIs estándar de Unix y de otros RTOS. Al ofrecer un entorno compatible con POSIX, es un sistema RTOS más completo (y por ende, potencialmente más pesado) que otras alternativas más minimalistas.</p>
403+
</div>
404+
<div class="sect2">
405+
<h3 id="recursos-6"><a class="anchor" href="#recursos-6"></a>Recursos</h3>
369406
<div class="ulist">
370407
<ul>
371408
<li>
@@ -375,6 +412,31 @@ <h2 id="nuttx"><a class="anchor" href="#nuttx"></a>Nuttx</h2>
375412
</div>
376413
</div>
377414
</div>
415+
</div>
416+
<div class="sect1">
417+
<h2 id="referencias"><a class="anchor" href="#referencias"></a>Referencias</h2>
418+
<div class="sectionbody">
419+
<div class="ulist">
420+
<ul>
421+
<li>
422+
<p><a href="https://en.wikipedia.org/wiki/FreeRTOS" class="bare">https://en.wikipedia.org/wiki/FreeRTOS</a></p>
423+
</li>
424+
<li>
425+
<p><a href="https://www.freertos.org/" class="bare">https://www.freertos.org/</a></p>
426+
</li>
427+
<li>
428+
<p><a href="https://www.zephyrproject.org/learn-about/" class="bare">https://www.zephyrproject.org/learn-about/</a></p>
429+
</li>
430+
<li>
431+
<p><a href="https://os.mbed.com/" class="bare">https://os.mbed.com/</a></p>
432+
</li>
433+
<li>
434+
<p><a href="https://github.com/eclipse-threadx/threadx" class="bare">https://github.com/eclipse-threadx/threadx</a></p>
435+
</li>
436+
</ul>
437+
</div>
438+
</div>
439+
</div>
378440
<nav class="pagination">
379441
<span class="prev"><a href="../tools/stores.html">Tiendas</a></span>
380442
<span class="next"><a href="../atomvm/atomvm.html">AtomVM</a></span>

docs/search-index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)