MCPcopy Create free account
hub / github.com/WiringPi/WiringPi / pwmSetRange

Function pwmSetRange

wiringPi/wiringPi.c:1498–1527  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1496 */
1497
1498void pwmSetRange (unsigned int range)
1499{
1500 if ((wiringPiMode == WPI_MODE_PINS) || (wiringPiMode == WPI_MODE_PHYS) || (wiringPiMode == WPI_MODE_GPIO))
1501 {
1502 /* would be possible on ms mode but not on bal, deactivated, use pwmc modify instead
1503 if (piGpioBase == GPIO_PERI_BASE_2711) {
1504 range = (OSC_FREQ_BCM2711*range)/OSC_FREQ_DEFAULT;
1505 }
1506 */
1507 if (!pwm) {
1508 fprintf(stderr, "wiringPi: pwmSetRange but no pwm memory available, ignoring\n");
1509 return;
1510 }
1511 int readback = 0x00;
1512 if (piRP1Model()) {
1513 pwm[RP1_PWM0_CHAN0_RANGE] = range;
1514 pwm[RP1_PWM0_CHAN1_RANGE] = range;
1515 pwm[RP1_PWM0_CHAN2_RANGE] = range;
1516 pwm[RP1_PWM0_CHAN3_RANGE] = range;
1517 readback = pwm[RP1_PWM0_CHAN0_RANGE];
1518 } else {
1519 *(pwm + PWM0_RANGE) = range ; delayMicroseconds (10) ;
1520 *(pwm + PWM1_RANGE) = range ; delayMicroseconds (10) ;
1521 readback = *(pwm + PWM0_RANGE);
1522 }
1523 if (wiringPiDebug) {
1524 printf ("PWM range: %u. Current register: 0x%08X\n", range, readback);
1525 }
1526 }
1527}
1528
1529
1530/*

Callers 5

doPwmRangeFunction · 0.85
pinModeFunction · 0.85
pwmToneWriteFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85

Calls 2

piRP1ModelFunction · 0.85
delayMicrosecondsFunction · 0.85

Tested by 2

mainFunction · 0.68
mainFunction · 0.68