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.....)