InfiniTime
Firmware rápido de código aberto para o smartwatch PineTime com muitos recursos, escrito em C++ moderno.
Novo no InfiniTime?
- Introdução ao InfiniTime
- Atualizando o software
- Sobre o firmware e bootloader
- Aplicativos disponíveis
- Mostradores de relógio disponíveis
- Mostrador do relógio PineTimeStyle
Aplicativos complementares
- Gadget Bridge (Android)
- Amazfish (SailfishOS, Ubuntu Touch, Flatpak)
- Siglo (Linux)
- InfiniLink (iOS)
- ITD (Linux)
- WatchMate (Linux)
- InfiniTimeExplorer (Web)
O InfiniTimeExplorer é compatível apenas com navegadores da web que suportam Web BLE. Os navegadores atuais totalmente suportados incluem Chrome e Microsoft Edge.
Removemos as menções ao NRFConnect porque este aplicativo é de código fechado e as versões recentes não funcionam mais com o InfiniTime (a última versão conhecida por funcionar é 4.24.3). Se você usou o NRFConnect no passado, recomendamos mudar para o Gadgetbridge.
Desenvolvimento
- Visão InfiniTime
- Estrutura aproximada do código
- Como implementar um aplicativo
- Gere as fontes e símbolos
- Dicas sobre como projetar uma interface de usuário de aplicativo
- Bootloader, OTA e DFU
- Recursos externos
Contribuindo
- Como contribuir
- Convenções de codificação
Construir, atualizar e depurar
- Simulador InfiniTime
- Construa o projeto
- Construa o projeto com Docker
- Construa o projeto com VSCode
- Atualize o firmware usando OpenOCD e STLinkV2
- Atualize o firmware usando interface SWD
- Atualize o firmware usando JLink
- Atualize o firmware usando GDB
- Esboço usando NRF52-DK
API
Arquitetura e tópicos técnicos
Gerenciamento de projetos
- Guia do mantenedor
- Versionamento
- Ramos do projeto
- Arquivos incluídos nas notas de lançamento
- Arquivos necessários pela fábrica
Licenças
Este projeto é lançado sob a Licença Pública Geral GNU versão 3 ou, a seu critério, qualquer versão posterior.
Integra os seguintes projetos:
- RTOS: FreeRTOS sob a licença MIT
- UI: LittleVGL/LVGL sob a licença MIT
- Pilha BLE: NimBLE sob a licença Apache 2.0
- Fonte: Jetbrains Mono sob a licença Apache 2.0
Créditos
Não estou trabalhando sozinho neste projeto. Primeiro, muitas pessoas criam solicitações pull para este projeto. Depois, há toda a comunidade #pinetime: muitas pessoas ao redor do mundo que estão hackeando, pesquisando, experimentando e programando o Pinetime. Trocamos nossas ideias, experimentos e códigos nas salas de chat e fóruns.
Aqui estão algumas pessoas que gostaria de destacar:
- Atc1441: Ele trabalha em um firmware baseado em Arduino para o Pinetime e muitos outros smartwatches baseados em hardware semelhante. Ele foi de grande ajuda quando eu estava implementando o suporte ao sensor de movimento BMA421 e ao driver I²C.
- Koen: Ele está trabalhando em um firmware baseado no RiotOS. Ele integrou bibliotecas semelhantes às minhas: NimBLE, LittleVGL,… Sua ajuda também foi inestimável!
- Lup Yuen Lee: Ele está em todo lugar: ele trabalha em um firmware Rust, constrói um bootloader baseado em MCUBoot para o Pinetime, projeta um aplicativo complementar baseado em Flutter para smartphones e escreve muitos artigos sobre o Pinetime!