A menos que se especifique lo contrario en el evento en particular que se esté publicitando, las actividades tienen las siguientes características.
Se realizan en la sección de eventos virtuales
en el canal Sala de reuniones
de nuestro servidor de Discord
Son los Sábados a las 13:00 hora Tijuana México (PST/PDT)
Las ocasiones donde no haya evento programado, este horario se podrá usar para juntas de coordinación y planeación de la comunidad o para juntas de sincronización en grupos de estudio con proyecto.
Las actividades disponibles en la comunidad hasta el momento son:
- La hora de inglés
- Pláticas en vivo
- Grupos de estudio
Nota:
Los readme arriba mencionados de las actividades, requieren un trabajo y actualización continuas, si no son claras, tienen información incorrecta o necesitan modificaciones, pueden pedir un pull request o mandar mensaje a los admins en Discord
Nuestras plataformas principales son Discord y Reddit(aunque aquí apenas empezamos).
Todos los proyectos estarán en nuestro Github
También tenemos:
- Página de facebook
- Grupo de facebook
- Youtube
- Página de Linkedin
- Alianza con Código Facilito
- Directorio en Comunidades Atlas
Estamos trabajando en tener cuentas en:
- Notion (Nuestra base de conocimiento estará ahí)
Así como tener una página web (un landing page), sencilla, donde se pueda tener una referencia de qué es code pretzel y un poco de nuestra historia. Sin embargo, esta información ya está en formatos de video en nuestro canal de youtube.
Proporcionar un lugar donde crear sistemas embebidos, aprender, compartir entre todos, principiantes y avanzados y en el camino, mostrar el talento latinoamericano.
Soñamos construir una infraestructura de herramientas, técnicas y configuraciones que nos permita desarrollar software embebido de calidad, con facilidad de replicación, modularidad y con un proceso de desarrollo establecido.
Es decir
- Una Estructura para hacer to propio código reusable, (No empezar de cero cada vez)
- Una Forma de organizar tu proyecto (dónde va qué cosa)
- Un proceso de desarrollo (cómo configurar tus comiplaciones, pruebas y deploy)
- Una Propuesta periféricos y técnicas usados en industria (mejoras tu CV y no reinventas la rueda)
- Cierta Independencia de fabricante (Puedas cambiar de fabricante sin tantísima modificación)
Los siguientes elementos definen un poco mejor los elementos que atañen a cada punto entre paréntesis. ej. (1,2) se refiere a los puntos 1. Estructura de código reusable, 2. Forma de organizar tu proyecto
- Colaboración en github (pull requests y branches para cada funcionalidad)
- Code reviews para aprobar los pull requests
- Merge conflicts
- Análisis estático
- Enforzamiento del estándar BarrC-2018
- Pruebas unitarias
- Desarrollo impulsado por pruebas (para embedded)
- Automatización de pruebas y compilación en jenkins
- Deploy conectado a Jenkins con Artifactory
- Desarrollo de bootloaders (UART o SPI)
- Uso de filtros digitales (algún otro que no sea promedio)
- Uso de Formato Q (Q15 por ejemplo) (Número fraccionario representado en un número entero)
- Abstracción de hardware multicapas (APIs y HALs)
- Machine Learning en Embedded (Edge devices, probablemente con TinyML/TFLight)
- Configuración y uso de Watchdog timers
- Implementación de máquinas de estados
- Manejo de información por interrupciones sin variables globales (y posteriormente interrupciones anidadas)
- Uso de JTAG para acceso a opciones avanzadas de depuración
- Implementación básica de modos de bajo consumo (sleep mode)
- ADC
- PWM
- I2C
- SPI
- QEI
Sin embargo, estamos conscientes de que es una cantidad de trabajo enorme, sobre todo si pensamos que solo podremos desarrollar proyectos hasta tener esta infraestructura lista. Por lo que hemos pensado en ir implementando diferentes elementos de la misma a través de pequeños proyectos que a su vez también nos permitan practicar y aprender.
Estos proyectos serán llevados en grupos de estudio por projecto.
- Nos da contenido para grupos de estudio
- Es modular e incremental
- Proporciona un mapa de aprendizaje
- Brinda una infraestructura que nos permite hacer software embebido de calidad
- Nos da un estándar para liberar proyectos y darles continuidad, incluso en cierto momento, para liberarlos como open source
- Los miembros que construyan e utilicen la infraestructura tendrán mejores prácticas y habilidades para una entrevista de trabajo
- Prepara a cualquier desarrollador de software embebido para especializarse en alguna de las áreas (DSP, DIP, control de motores, automotriz, etc)
- Brinda repitibilidad de proceso, podemos sacar proyectos más rápido, más estables y con un aseguramiento de calidad automatizado