I tought your problem was solved, because the question is marked as "answered"... please "unmark" it if not.
I want to be able to change the direction of a DC motor. Inverting the duty cycle would work but apparently the driver doesn't support it.
I see... I've made it relatively simple, what did you mean by "PWM chip" in your original post
Does the PWM chip support changing the polarity?
Did you mean the PCA9685 referred to by xbolshe? I know nothing about that chip and/or its usage. It does not seem to be related to DC motors according to
but again, I do not know the PCA9685.
Anoyhow, I've always used some H-bridge, such as L9110S or L293D for controlling DC motors... I use them in an Arduino controlled car (Proyecto con Galileo - Intel Galileo - Arduino Car - YouTube ). I've not used them in an Intel Galileo, but it should be the same. If you think it would be useful I could make some experiments and report back.
need to speak about a logic inversion, not a voltage inversion in case of PCA9685.
•INVRT bit (MODE2 register) can be used to keep the LED PWM control firmware the
same independently of the type of external driver. This bit allows LED output polarity inversion/non-inversion only when OE=0
A voltage inversion requires to use external drivers for Galileo Gen2 board.
From Kernel documentation:
polarity - Changes the polarity of the PWM signal (read/write).
Writes to this property only work if the PWM chip supports changing
the polarity. The polarity can only be changed if the PWM is not
enabled. Value is the string "normal" or "inversed".
When implementing polarity support in a PWM driver, make sure to respect the
signal conventions in the PWM framework. By definition, normal polarity
characterizes a signal starts high for the duration of the duty cycle and
goes low for the remainder of the period. Conversely, a signal with inversed
polarity starts low for the duration of the duty cycle and goes high for the
remainder of the period.