CUSTOM.HAL potrzebne dodatki do HAL warto umieścić w pliku dodatkowym custom.hal
część definiująca PWMGEN
loadrt pwmgen output_type=0,0,0
addf pwmgen.update servo-thread
addf pwmgen.make-pulses base-thread
polecań "M67(
E0(1,2) Qwartość" przekazuje wartość do zmiennej motion.analog-out-00(1,2)
net pwm-value-0 <= motion.analog-out-00 => pwmgen.0.value
net pwm-value-1 <= motion.analog-out-01 => pwmgen.1.value
net pwm-value-2 <= motion.analog-out-02 => pwmgen.2.value
zezwolenie na pracę generatorów
setp pwmgen.0.enable 1
setp pwmgen.1.enable 1
setp pwmgen.2.enable 1
ustawienie PDM, a nie normalnego PWM (PDM lepiej działa)
setp pwmgen.0.pwm-freq 0
setp pwmgen.1.pwm-freq 0
setp pwmgen.2.pwm-freq 0
podłączenie wyjść generatorów do odpowiednich pinów portu LPT
net pwm-0 pwmgen.0.pwm parport.1.pin-02-out
net pwm-1 pwmgen.1.pwm parport.1.pin-03-out
net pwm-2 pwmgen.2.pwm parport.1.pin-04-out
ustawienie wartości największej dla parametru PWM
100 - wartość max napięcia (blisko 10V)
0 - wartość min napięcia (blisko 0V)
setp pwmgen.0.scale 200
setp pwmgen.1.scale 200
setp pwmgen.2.scale 200
polecenia M64 P0 - włącz FAL1, M65 P0 - wyłącz FAL1
net out-00 motion.digital-out-00 parport.1.pin-05-out
i analogicznie dla pozostałych
net out-01 motion.digital-out-01 parport.1.pin-07-out
net out-02 motion.digital-out-02 parport.1.pin-09-out
#polecenie M64 P3 - włącz APLIK1, M65 P3 - wyłącz APLIK1 itd
net out-03 motion.digital-out-03 parport.1.pin-06-out
net out-04 motion.digital-out-04 parport.1.pin-08-out
net out-05 motion.digital-out-05 parport.1.pin-14-out