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)
|
||||
{
|
||||
case PI_MODEL_5B:
|
||||
return 16;
|
||||
break;
|
||||
case PI_MODEL_3:
|
||||
case PI_MODEL_LTIE_2:
|
||||
case PI_MODEL_BERRY:
|
||||
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;
|
||||
break;
|
||||
case PI_MODEL_R1_PLUS:
|
||||
return 8;
|
||||
break;
|
||||
default:
|
||||
printf ("Oops - unable to determine board type... model: %d\n", model);
|
||||
return -1;
|
||||
|
||||
@ -20,9 +20,10 @@ static void set_pwm_info(int pin)
|
||||
|
||||
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") ;
|
||||
exit(1);
|
||||
}
|
||||
@ -33,85 +34,6 @@ static void set_pwm_info(int pin)
|
||||
pwm_info_t.div_stepping = 1;
|
||||
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:
|
||||
printf("Oops - unable to determine board type...");
|
||||
exit(1);
|
||||
|
||||
@ -225,7 +225,7 @@ int wiringPiI2CSetup (const int devId)
|
||||
|
||||
piBoardId(&model);
|
||||
|
||||
device = "/dev/i2c-0" ;
|
||||
device = "/dev/i2c-4" ;
|
||||
|
||||
return wiringPiI2CSetupInterface (device, devId) ;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user