qipp
2025-09-16 e7ac407a6aa40e94a34a772dee14e8d5fb55c45b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <string.h>
 
#include "protocol.h"
#include "queue.h"
#include "report.h"
 
static int device_status_count =0;
static device_status_mem dev_status[16];
 
void device_status_report(short ID , short* value, int numOfValue)
{
    int i;
    int found =0;
 
    for(i=0;i<device_status_count;i++){
        if(dev_status[i].ID == ID){
            found = 1;
            break;    
        }    
    }
    
    if(found){
        memcpy(dev_status[i].value , value,  numOfValue*sizeof(short));    
    }
    else{
        dev_status[device_status_count].ID = ID;
        memcpy(dev_status[device_status_count].value, value,  numOfValue*sizeof(short));
        device_status_count++;
    }
}
 
 
/*
CPU Ê¹ÓÃÂÊ
ÄÚ´æ Ê¹ÓÃÂÊ
USB jitter
*/
void msg_report_dsp_status(command_type type)
{
    tag_msg msg;
    extern void* htx_que;
    
    msg.magic = 0x5aa5;
    msg.ctype = type;
    msg.len = sizeof(device_status_mem)*device_status_count*2;
    memcpy(msg.data , dev_status, sizeof(device_status_mem)*device_status_count);
    
    queue_push(htx_que,&msg,SPI_PKT_SIZE);
    device_status_count =0;
}