change pwm and i2c function for berry and zero
This commit is contained in:
parent
017c9a43c2
commit
faf9b24599
@ -9,38 +9,10 @@ unsigned char getGpioNum(void)
|
|||||||
|
|
||||||
switch (model)
|
switch (model)
|
||||||
{
|
{
|
||||||
case PI_MODEL_5B:
|
case PI_MODEL_BERRY:
|
||||||
return 16;
|
|
||||||
break;
|
|
||||||
case PI_MODEL_3:
|
|
||||||
case PI_MODEL_LTIE_2:
|
|
||||||
case PI_MODEL_ZERO:
|
case PI_MODEL_ZERO:
|
||||||
case PI_MODEL_ZERO_PLUS_2:
|
|
||||||
case PI_MODEL_ZERO_PLUS:
|
|
||||||
case PI_MODEL_4_LTS:
|
|
||||||
case PI_MODEL_800:
|
|
||||||
case PI_MODEL_5:
|
|
||||||
return 17;
|
|
||||||
break;
|
|
||||||
case PI_MODEL_ZERO_2:
|
|
||||||
return 21;
|
|
||||||
break;
|
|
||||||
case PI_MODEL_WIN:
|
|
||||||
case PI_MODEL_PRIME:
|
|
||||||
case PI_MODEL_PC_2:
|
|
||||||
case PI_MODEL_H3:
|
|
||||||
case PI_MODEL_RK3399:
|
|
||||||
case PI_MODEL_4:
|
|
||||||
case PI_MODEL_5_PLUS:
|
|
||||||
case PI_MODEL_900:
|
|
||||||
case PI_MODEL_CM4:
|
|
||||||
case PI_MODEL_3B:
|
|
||||||
case PI_MODEL_ZERO_2_W:
|
|
||||||
return 28;
|
return 28;
|
||||||
break;
|
break;
|
||||||
case PI_MODEL_R1_PLUS:
|
|
||||||
return 8;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printf ("Oops - unable to determine board type... model: %d\n", model);
|
printf ("Oops - unable to determine board type... model: %d\n", model);
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@ -20,9 +20,10 @@ static void set_pwm_info(int pin)
|
|||||||
|
|
||||||
switch (model)
|
switch (model)
|
||||||
{
|
{
|
||||||
case PI_MODEL_ZERO_2:
|
case PI_MODEL_BERRY:
|
||||||
|
case PI_MODEL_ZERO:
|
||||||
|
|
||||||
if (pin != 3 && pin != 4 && pin != 21 && pin != 22) {
|
if (pin != 2 ) {
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -33,85 +34,6 @@ static void set_pwm_info(int pin)
|
|||||||
pwm_info_t.div_stepping = 1;
|
pwm_info_t.div_stepping = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PI_MODEL_ZERO_2_W:
|
|
||||||
|
|
||||||
if (pin != 2 && pin != 9 && pin != 21 && pin != 22) {
|
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
pwm_info_t.ccr = 512;
|
|
||||||
pwm_info_t.arr = 1024;
|
|
||||||
pwm_info_t.div = 1;
|
|
||||||
pwm_info_t.div_stepping = 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PI_MODEL_3_PLUS:
|
|
||||||
|
|
||||||
if (pin != 2 && pin != 16) {
|
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
pwm_info_t.ccr = 500;
|
|
||||||
pwm_info_t.arr = 1000;
|
|
||||||
pwm_info_t.div = 120;
|
|
||||||
pwm_info_t.div_stepping = 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PI_MODEL_5:
|
|
||||||
|
|
||||||
if (pin != 0 && pin != 2 && pin != 5 && pin != 8 && pin != 9 && pin != 10 && pin != 14 && pin != 16) {
|
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
pwm_info_t.ccr = 500;
|
|
||||||
pwm_info_t.arr = 1000;
|
|
||||||
pwm_info_t.div = 120;
|
|
||||||
pwm_info_t.div_stepping = 2;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PI_MODEL_5B:
|
|
||||||
|
|
||||||
if (pin != 0 && pin != 2 && pin != 5 && pin != 8 && pin != 9 && pin != 10 && pin != 13 && pin != 15) {
|
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
pwm_info_t.ccr = 500;
|
|
||||||
pwm_info_t.arr = 1000;
|
|
||||||
pwm_info_t.div = 120;
|
|
||||||
pwm_info_t.div_stepping = 2;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PI_MODEL_5_PLUS:
|
|
||||||
|
|
||||||
if (pin != 0 && pin != 1 && pin != 2 && pin != 6 && pin != 9 && pin != 10 && pin != 13 && pin != 21 && pin != 22) {
|
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
pwm_info_t.ccr = 500;
|
|
||||||
pwm_info_t.arr = 1000;
|
|
||||||
pwm_info_t.div = 120;
|
|
||||||
pwm_info_t.div_stepping = 2;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PI_MODEL_CM4:
|
|
||||||
case PI_MODEL_3B:
|
|
||||||
|
|
||||||
if (pin != 2 && pin != 21) {
|
|
||||||
fprintf (stderr, "the pin you choose doesn't support hardware PWM\n") ;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
pwm_info_t.ccr = 500;
|
|
||||||
pwm_info_t.arr = 1000;
|
|
||||||
pwm_info_t.div = 120;
|
|
||||||
pwm_info_t.div_stepping = 2;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("Oops - unable to determine board type...");
|
printf("Oops - unable to determine board type...");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|||||||
@ -225,7 +225,7 @@ int wiringPiI2CSetup (const int devId)
|
|||||||
|
|
||||||
piBoardId(&model);
|
piBoardId(&model);
|
||||||
|
|
||||||
device = "/dev/i2c-0" ;
|
device = "/dev/i2c-4" ;
|
||||||
|
|
||||||
return wiringPiI2CSetupInterface (device, devId) ;
|
return wiringPiI2CSetupInterface (device, devId) ;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user