pwm



Permite que Lua use os blocos PWM para a CPU em questão.


[pwm.setup](pwm.setup( id, frequency, Active Cycle ) Data = pwm.setup( id, frequency, duty ): configura o 'id' do bloco PWM para gerar a frequência especificada com o ciclo 'duty' especificado (duty é um número inteiro entre 0 e 100, indicando o percentual a ser utilizado). Ela retorna a frequência real configurada no bloco PWM.


Aqui existe uma enorme mudança na proposta.

O Timer Clock e a frequência PWM "frame" seriam configurados na mesma função (.setup)

A função normal de controle configuraria somente o ciclo ativo (.setcycle)

A função original .setup seria substituída por:


[pwm.setup( id, tmrclock, pwm_frequency ) ]

[pwm.setcycle( id, active_cycle )]

[pwm.start()] pwm.start( id ): inicia o 'id' do bloco PWM.

[pwm.stop()] pwm.stop( id ): finaliza o 'id' do bloco PWM.


Data = pwm.setclock( id, clock ): configura o clock base do 'id' do bloco PWM para

o clock informado. Retorna o clock corrente do bloco PWM.


[pwm.getclock] Data = pwm.getclock( id ): retorna o clock base do 'id' do bloco PWM.


Realmente é necessário existir .getclock ?? O clock é configurado pelo mesmo programa, é alterado repentinamente durante a operação, ..........

Caso fosse realmente necessário, poderia ser algo como pwm.gettimerclock(id) ou quem sabe (isso deve ser mais discutido.....)