int main()
{
wiringPiSetup(); // Setup required by wiringPi
pinMode (1, PWM_OUTPUT); //
pwmSetMode(PWM_MODE_MS); // Mark/Space mode
while(1)
{
int i;
int x = 1;
for (i = 0; i > -1; i = i + x)
{
int d = (16-i/16)^2; // calc inverse square of index
pwmWrite(1, i);
delay(d);
if (i == 255) x = -1; // switch direction at peak
}
}
}