Acabei de adicionar uma implementação de disp_dev
(consulte # 13262) a # 12509. Tenho alguns comentários (reconhecidamente pequenos) sobre a API atual:
O parâmetro color
para disp_dev_map
é um ponteiro uint16_t
. Isso significa que os pixels devem ter pelo menos 16 bits. A tela do e-Paper em # 12509 usa um único byte por 8 pixels, então seria mais natural usar uint8_t
ali. Especialmente ao lidar com algo como uma imagem de 8x3 pixels.
Na implementação de ili9341 x2
e y2
descrevem a coordenada do pixel interno do canto, não o canto externo. Isso também é observado na documentação desse driver. Não é, entretanto, mencionado em disp_dev_map
. Eu também acho que (mesmo quando explicitamente mencionado) este não é um uso intuitivo de coordenadas: um retângulo com dois vértices opostos tendo as coordenadas (5,5) e (5,5) tem uma área de 0, não 1.
disp_dev_set_invert
provavelmente não se aplicará a todos os monitores. Atualmente não é possível comunicar isso ao usuário.
Propostas:
Adicione um tipo de retorno a
disp_dev_set_invert
indicando sucesso / falha. Provavelmente, este também deve ser o caso dedisp_dev_map
.
Uma solução diferente para isso poderia ser adicionar vários sinalizadores de capacidade a um driver para indicar diferentes capacidades do driver.
Tenho uma proposta para a questão da profundidade de cor no PR # 14054.
Enquanto eu fiz algumas simplificações da API para as coordenadas em # 14051.
Eu também acho que (mesmo quando explicitamente mencionado) este não é um uso intuitivo de coordenadas: um retângulo com dois vértices opostos tendo as coordenadas (5,5) e (5,5) tem uma área de 0, não 1.
Mas a simplificação do Coordenador não resolve esse problema. Apenas uma simplificação da própria API.
Use largura (w) e altura (h) em vez de x2 e y2 para evitar qualquer confusão. Isso também é o que SDL, Gegl e Cairo fazem.
Eu concordo com isso. Deve abordar o problema.
É de alguma forma possível empurrar este tópico, então ele não vai morrer? :)
Ping @aabadie @bergzand?
Ping @aabadie @bergzand?
Comentários muito úteis
Ping @aabadie @bergzand?