Guia de Migração para o MicroPython 2.0

O MicroPython 2.0 é a próxima versão principal do MicroPython (atualmente em desenvolvimento, ainda não disponível).

Após quase uma década a manter compatibilidade de API com a série 1.x, para desbloquear algumas melhorias a nível de projeto, o MicroPython 2.0 introduzirá um pequeno número de alterações de API incompatíveis que exigirão a atualização de alguns programas. Este guia explica como atualizar o seu código Python para acomodar estas alterações.

Este documento está em curso de elaboração. À medida que mais trabalho for sendo feito no MicroPython 2.0, mais itens serão adicionados às listas abaixo.

Nota: Atualmente não existem compilações de firmware do MicroPython 2.0 disponíveis para download. Pode compilá-lo você mesmo ativando a opção de configuração MICROPY_PREVIEW_VERSION_2. À medida que se aproximar de estar pronto para lançamento, serão disponibilizadas compilações tanto para 1.x.y como para 2.0.0-preview.

Hardware e periféricos

Visão geral

O objetivo é melhorar a consistência nas APIs machine entre diferentes portas, facilitando a escrita de código, documentação e tutoriais que funcionem em qualquer microcontrolador suportado.

Isto significa que as APIs de algumas portas precisam de ser alteradas para corresponder às de outras portas.

Alterações

Nenhuma ainda

SO e sistema de ficheiros

Visão geral

O objetivo principal é suportar a capacidade de executar ficheiros .mpy diretamente a partir do sistema de ficheiros sem os copiar primeiro para RAM. Isto melhora o tempo de implantação de código e reduz a sobrecarga de memória e a fragmentação.

Adicionalmente, um objetivo adicional é suportar uma forma mais flexível de configurar partições, tipos de sistema de ficheiros e opções como armazenamento em massa USB.

Alterações

Nenhuma ainda

Compatibilidade com CPython

Visão geral

O objetivo é melhorar a compatibilidade com CPython removendo extensões MicroPython das APIs CPython. Na maioria dos casos, isto significa mover funções ou classes específicas do MicroPython para novos módulos.

Isto facilita a escrita de código que funciona tanto em CPython como em MicroPython, o que é útil para desenvolvimento e testes.

Alterações

Introdução de um novo módulo vfs. As seguintes funções e classes foram movidas de os para vfs:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix