|
@@ -273,18 +273,23 @@ void cs1180_adc_shutdown(void){
|
|
|
spi1_deinit();
|
|
spi1_deinit();
|
|
|
_cs1180_ready = 0;
|
|
_cs1180_ready = 0;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+static int cs1180_may_error = 0;
|
|
|
|
|
+void cs1180_log(void){
|
|
|
|
|
+ sys_error("cs1180 error %d\n", cs1180_may_error);
|
|
|
|
|
+}
|
|
|
float cs1180_adc_sample(int *valide)
|
|
float cs1180_adc_sample(int *valide)
|
|
|
{
|
|
{
|
|
|
|
|
+ static int cs1180_low_ff_count = 0;
|
|
|
uint8_t data[3] = {0,0,0};
|
|
uint8_t data[3] = {0,0,0};
|
|
|
int a = 0;
|
|
int a = 0;
|
|
|
- int retry = 5;
|
|
|
|
|
while (IS_CS1180_NOT_READY()); //µ±drdy Ϊ¸ßʱ£¬²»¶ÁÈ¡Êý¾Ý
|
|
while (IS_CS1180_NOT_READY()); //µ±drdy Ϊ¸ßʱ£¬²»¶ÁÈ¡Êý¾Ý
|
|
|
|
|
|
|
|
|
|
+#if 0
|
|
|
|
|
+ int retry = 5;
|
|
|
while(retry-- >= 0) {
|
|
while(retry-- >= 0) {
|
|
|
cs1180_cs(0);
|
|
cs1180_cs(0);
|
|
|
cs1180_send_cmd(CS1180_RDATA);
|
|
cs1180_send_cmd(CS1180_RDATA);
|
|
|
- delay_us(100);
|
|
|
|
|
|
|
+ delay_us(60);
|
|
|
data[0] = cs1180_read_data(0xFF);
|
|
data[0] = cs1180_read_data(0xFF);
|
|
|
data[1] = cs1180_read_data(0xFF);
|
|
data[1] = cs1180_read_data(0xFF);
|
|
|
data[2] = cs1180_read_data(0xFF);
|
|
data[2] = cs1180_read_data(0xFF);
|
|
@@ -304,6 +309,25 @@ float cs1180_adc_sample(int *valide)
|
|
|
sys_error("cs1180 adc is not valide\n");
|
|
sys_error("cs1180 adc is not valide\n");
|
|
|
*valide = 0;
|
|
*valide = 0;
|
|
|
}
|
|
}
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
+ cs1180_cs(0);
|
|
|
|
|
+ cs1180_send_cmd(CS1180_RDATA);
|
|
|
|
|
+ delay_us(60);
|
|
|
|
|
+ data[0] = cs1180_read_data(0xFF);
|
|
|
|
|
+ data[1] = cs1180_read_data(0xFF);
|
|
|
|
|
+ data[2] = cs1180_read_data(0xFF);
|
|
|
|
|
+ cs1180_cs(1);
|
|
|
|
|
+ a = (data[0] << 16) | (data[1] << 8) | data[2];
|
|
|
|
|
+ a >>= 4;
|
|
|
|
|
+ if (data[2] == 0xFF) {
|
|
|
|
|
+ if (cs1180_low_ff_count ++ >= 10) {
|
|
|
|
|
+ cs1180_may_error ++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else {
|
|
|
|
|
+ cs1180_low_ff_count = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (a & 0x80000) {
|
|
if (a & 0x80000) {
|
|
|
a = ~a;
|
|
a = ~a;
|
|
|
a = - (a&0x7FFFF);
|
|
a = - (a&0x7FFFF);
|