Skip to main content

CLI para automatizar proyectos PlatformIO con FreeRTOS

Project description

RTOS CLI - Ayuda de Comandos

Este documento describe el uso de cada comando disponible en rtos_cli.py, la herramienta CLI para automatizar proyectos PlatformIO + FreeRTOS personalizados para el ESP32.


Comandos Disponibles

create_project <project_name>

Crea una estructura completa de proyecto PlatformIO + FreeRTOS para ESP32.

  • Utiliza la placa esp32-eddie-w.json.
  • Estructura carpetas, platformio.ini, README.md, y archivos base.

Ejemplo:

python rtos_cli.py create_project MiProyecto

create_task <task_name>

Crea una tarea de FreeRTOS con archivos .cpp y .h, y la integra al proyecto.

Ejemplo:

python rtos_cli.py create_task sensor_reader

create_global_var <var_name> <var_type> <sync_type>

Declara una variable global sincronizada con mutex o semáforo.

  • sync_type puede ser: mutex o semaphore.

Ejemplo:

python rtos_cli.py create_global_var contador int mutex

create_queue <queue_name> <item_type> <length>

Declara una cola global y la integra al archivo project_config.h.

Ejemplo:

python rtos_cli.py create_queue cola_mensajes int 20

create_timer <timer_name> <period_ms> <mode>

Crea un temporizador de FreeRTOS (único o periódico).

  • mode puede ser: oneshot o periodic.

Ejemplo:

python rtos_cli.py create_timer timer_led 1000 periodic

create_event_group <group_name>

Crea un grupo de eventos FreeRTOS y lo registra globalmente.

Ejemplo:

python rtos_cli.py create_event_group grupo_eventos

create_mutex <mutex_name>

Crea un mutex global de FreeRTOS.

Ejemplo:

python rtos_cli.py create_mutex mtx_sensor

create_semaphore <semaphore_name>

Crea un semáforo binario global de FreeRTOS.

Ejemplo:

python rtos_cli.py create_semaphore sem_ready

create_module <module_name>

Crea un módulo genérico C++ con archivo .cpp y .h más integración de cabecera y actualización del README.

Ejemplo:

python rtos_cli.py create_module comunicacion_lora

Notas Generales

  • Todos los cambios se integran automáticamente al proyecto existente.
  • Se actualiza README.md, platformio.ini y project_config.h si aplica.
  • Todas las funciones incluyen documentación tipo Doxygen.

Para obtener ayuda directamente desde CLI:

python rtos_cli.py --help

create_topic <task_name> <topic_name> <direction> <type> <rate>

Crea un tópico de comunicación entre tareas tipo Publisher/Subscriber basado en colas de FreeRTOS.

  • direction: puede ser pub (publicador) o sub (suscriptor).
  • type: tipo de dato del tópico (e.g., float, int, etc).
  • rate: intervalo de operación del tópico en milisegundos (usado como guía para la frecuencia de uso).

Este comando inserta automáticamente:

  • Declaración de la cola asociada en project_config.h.
  • Funciones publish_<topic>() y/o subscribe_<topic>() en .cpp y .h de la tarea correspondiente.
  • Llamadas básicas de prueba al publicar y/o suscribir dentro del bucle loop de la tarea.
  • Comentarios tipo Doxygen en cada función creada.
  • Entrada en README.md del proyecto de destino.

Ejemplos:

python rtos_cli.py create_topic sensor_1 temperatura pub float 500
python rtos_cli.py create_topic actuador_1 temperatura sub float 500

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtos_cli-1.1.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rtos_cli-1.1.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file rtos_cli-1.1.0.tar.gz.

File metadata

  • Download URL: rtos_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for rtos_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c632cd2a29fd9a112cf4e2bb97f2bc05944b87796d401b7f20d22cb37c9d2559
MD5 503aff31ef5e59b14eaee343189d0631
BLAKE2b-256 bd0032a75cda44748b3173269f77ae834bbee51d7851682abdb7955c4cace2b4

See more details on using hashes here.

File details

Details for the file rtos_cli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: rtos_cli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for rtos_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6378b05ddcf9d39c0bd221868227af50b5545872ed4c2f8a2fbe035d1d84882
MD5 a8f4157af7552302c6b8f7156c5cffc7
BLAKE2b-256 6cfce93b635a0ee8c5865f85d0bb911cb69b3cf784e7059358cfa9c041d7083e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page