Guia de Migração do MicroPython 2.0

O MicroPython 2.0 é o próximo lançamento principal do MicroPython (atualmente em desenvolvimento, ainda não disponível).

Após manter a compatibilidade de API por quase uma década com a série 1.x, e a fim de desbloquear algumas melhorias em todo o projeto, o MicroPython 2.0 introduzirá um pequeno número de mudanças 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 essas mudanças.

Este documento é um trabalho em andamento. À medida que mais trabalho é feito no MicroPython 2.0, mais itens serão adicionados às listas abaixo.

Nota: Atualmente não há builds de firmware do MicroPython 2.0 disponíveis para download. Você pode compilá-lo por conta própria ativando a opção de configuração MICROPY_PREVIEW_VERSION_2. À medida que ele se aproximar de estar pronto para lançamento, serão fornecidos builds tanto para 1.x.y quanto para 2.0.0-preview.

Hardware e periféricos

Visão geral

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

Isso significa que as APIs de algumas portas precisam mudar para corresponder a outras portas.

Mudanças

Nenhuma ainda

SO e sistema de arquivos

Visão geral

O objetivo principal é dar suporte à capacidade de executar arquivos .mpy diretamente do sistema de arquivos sem primeiro copiá-los para a RAM. Isso melhora o tempo de implantação do código e reduz o overhead de memória e a fragmentação.

Além disso, um objetivo adicional é dar suporte a uma maneira mais flexível de configurar partições, tipos de sistema de arquivos e opções como armazenamento em massa USB.

Mudanças

Nenhuma ainda

Compatibilidade com CPython

Visão geral

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

Isso facilita escrever código que funcione tanto no CPython quanto no MicroPython, o que é útil para desenvolvimento e testes.

Mudanças

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