sorta working, control needs to be improved

This commit is contained in:
2020-10-01 14:04:35 -07:00
parent f86e4d7c52
commit 90b9831079
62 changed files with 3221 additions and 510 deletions

View File

@@ -191,6 +191,17 @@ void RF24::print_status(uint8_t status)
((status >> RX_P_NO) & B111),
(status & _BV(TX_FULL))?1:0
);
char arr1[128];
sprintf_P(arr1, PSTR("STATUS\t\t = 0x%02x RX_DR=%x TX_DS=%x MAX_RT=%x RX_P_NO=%x TX_FULL=%x\r\n"),
status,
(status & _BV(RX_DR))?1:0,
(status & _BV(TX_DS))?1:0,
(status & _BV(MAX_RT))?1:0,
((status >> RX_P_NO) & B111),
(status & _BV(TX_FULL))?1:0
);
Serial.write(arr1);
}
/****************************************************************************/
@@ -210,9 +221,20 @@ void RF24::print_byte_register(const char* name, uint8_t reg, uint8_t qty)
{
char extra_tab = strlen_P(name) < 8 ? '\t' : 0;
printf_P(PSTR(PRIPSTR"\t%c ="),name,extra_tab);
while (qty--)
printf_P(PSTR(" 0x%02x"),read_register(reg++));
char arr1[32];
sprintf_P(arr1, PSTR(PRIPSTR"\t%c ="),name,extra_tab);
Serial.write(arr1);
while (qty--) {
printf_P(PSTR(" 0x%02x"), read_register(reg++));
char arr2[32];
sprintf_P(arr2, PSTR(" 0x%02x"), read_register(reg++));
Serial.write(arr2);
}
printf_P(PSTR("\r\n"));
char arr3[32];
sprintf_P(arr3, PSTR("\r\n"));
Serial.write(arr3);
}
/****************************************************************************/
@@ -222,6 +244,10 @@ void RF24::print_address_register(const char* name, uint8_t reg, uint8_t qty)
char extra_tab = strlen_P(name) < 8 ? '\t' : 0;
printf_P(PSTR(PRIPSTR"\t%c ="),name,extra_tab);
char arr1[32];
sprintf_P(arr1, PSTR(PRIPSTR"\t%c ="),name,extra_tab);
Serial.write(arr1);
while (qty--)
{
uint8_t buffer[5];
@@ -231,9 +257,15 @@ void RF24::print_address_register(const char* name, uint8_t reg, uint8_t qty)
uint8_t* bufptr = buffer + sizeof buffer;
while( --bufptr >= buffer )
printf_P(PSTR("%02x"),*bufptr);
char arr2[32];
sprintf_P(arr2, PSTR("%02x"),*bufptr);
Serial.write(arr2);
}
printf_P(PSTR("\r\n"));
char arr3[32];
sprintf_P(arr3, PSTR("\r\n"));
Serial.write(arr3);
}
/****************************************************************************/
@@ -308,24 +340,42 @@ static const char * const rf24_pa_dbm_e_str_P[] PROGMEM = {
void RF24::printDetails(void)
{
print_status(get_status());
print_status(get_status());
print_address_register(PSTR("RX_ADDR_P0-1"),RX_ADDR_P0,2);
print_byte_register(PSTR("RX_ADDR_P2-5"),RX_ADDR_P2,4);
print_address_register(PSTR("TX_ADDR"),TX_ADDR);
print_address_register(PSTR("RX_ADDR_P0-1"),RX_ADDR_P0,2);
print_byte_register(PSTR("RX_ADDR_P2-5"),RX_ADDR_P2,4);
print_address_register(PSTR("TX_ADDR"),TX_ADDR);
print_byte_register(PSTR("RX_PW_P0-6"),RX_PW_P0,6);
print_byte_register(PSTR("EN_AA"),EN_AA);
print_byte_register(PSTR("EN_RXADDR"),EN_RXADDR);
print_byte_register(PSTR("RF_CH"),RF_CH);
print_byte_register(PSTR("RF_SETUP"),RF_SETUP);
print_byte_register(PSTR("CONFIG"),CONFIG);
print_byte_register(PSTR("DYNPD/FEATURE"),DYNPD,2);
printf_P(PSTR("Data Rate\t = %S\r\n"),pgm_read_word(&rf24_datarate_e_str_P[getDataRate()]));
printf_P(PSTR("Model\t\t = %S\r\n"),pgm_read_word(&rf24_model_e_str_P[isPVariant()]));
printf_P(PSTR("CRC Length\t = %S\r\n"),pgm_read_word(&rf24_crclength_e_str_P[getCRCLength()]));
printf_P(PSTR("PA Power\t = %S\r\n"),pgm_read_word(&rf24_pa_dbm_e_str_P[getPALevel()]));
char arr1[32];
sprintf_P(arr1, PSTR("Data Rate\t = %S\r\n"),pgm_read_word(&rf24_datarate_e_str_P[getDataRate()]));
Serial.write(arr1);
char arr2[32];
sprintf_P(arr2, PSTR("Model\t\t = %S\r\n"),pgm_read_word(&rf24_model_e_str_P[isPVariant()]));
Serial.write(arr2);
char arr3[32];
sprintf_P(arr3, PSTR("CRC Length\t = %S\r\n"),pgm_read_word(&rf24_crclength_e_str_P[getCRCLength()]));
Serial.write(arr3);
char arr4[32];
sprintf_P(arr4, PSTR("PA Power\t = %S\r\n"),pgm_read_word(&rf24_pa_dbm_e_str_P[getPALevel()]));
Serial.write(arr4);
print_byte_register(PSTR("RX_PW_P0-6"),RX_PW_P0,6);
print_byte_register(PSTR("EN_AA"),EN_AA);
print_byte_register(PSTR("EN_RXADDR"),EN_RXADDR);
print_byte_register(PSTR("RF_CH"),RF_CH);
print_byte_register(PSTR("RF_SETUP"),RF_SETUP);
print_byte_register(PSTR("CONFIG"),CONFIG);
print_byte_register(PSTR("DYNPD/FEATURE"),DYNPD,2);
printf_P(PSTR("Data Rate\t = %S\r\n"),pgm_read_word(&rf24_datarate_e_str_P[getDataRate()]));
printf_P(PSTR("Model\t\t = %S\r\n"),pgm_read_word(&rf24_model_e_str_P[isPVariant()]));
printf_P(PSTR("CRC Length\t = %S\r\n"),pgm_read_word(&rf24_crclength_e_str_P[getCRCLength()]));
printf_P(PSTR("PA Power\t = %S\r\n"),pgm_read_word(&rf24_pa_dbm_e_str_P[getPALevel()]));
}
/****************************************************************************/

View File

@@ -173,7 +173,10 @@ void SoftPWMSetPolarity(int8_t pin, uint8_t polarity) {
}
}
void SoftPWMSetPercent(int8_t pin, uint8_t percent, uint8_t hardset)
{
SoftPWMSet(pin, ((uint16_t)percent * 255) / 100, hardset);
}
void SoftPWMSet(uint8_t pin, uint8_t value, uint8_t hardset) {

View File

@@ -49,7 +49,7 @@
void SoftPWMBegin(uint8_t defaultPolarity = SOFTPWM_NORMAL);
void SoftPWMSet(int8_t pin, uint8_t value, uint8_t hardset = 0);
void SoftPWMSet(uint8_t pin, uint8_t value, uint8_t hardset = 0);
void SoftPWMEnd(int8_t pin);