90617b1224aa08ad3e8f60ad6bf4c12a5617ea5b
10 #include "interpret.h"
13 struct sds sdss
[MAXSDSS
];
18 memset(&sdss
, 0, sizeof(struct sds
)*MAXSDSS
);
21 void sds_register(void)
24 for(cs
= 0; cs
<MAXSDSS
; cs
++)
29 die("Trying to add too much sdss...");
31 memset(&sdss
[cs
], 0, sizeof(struct sds
));
33 sdss
[cs
].id
= read16();
35 sdss
[cs
].value
= read16();
37 debug("Received sds %d: %d", sdss
[cs
].id
, sdss
[cs
].value
);
47 for(cs
= 0; cs
<MAXSDSS
; cs
++){
50 if(sdss
[cs
].id
== id
){
52 sdss
[cs
].value
= read16();
53 debug("Received sds update %d: %d",
54 sdss
[cs
].id
, sdss
[cs
].value
);
61 void sds_publish(int id
)
64 for(cs
= 0; cs
<MAXSDSS
; cs
++){
65 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
){
66 debug("Publish %d=%d", sdss
[cs
].id
, sdss
[cs
].value
);
69 write_byte(sdss
[cs
].id
);
70 write_byte(sdss
[cs
].value
/265);
71 write_byte(sdss
[cs
].value
%265);
76 debug("SDS identifier unknown: %d", id
);
83 for(cs
= 0; cs
<MAXSDSS
; cs
++)
84 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
)
85 return sdss
[cs
].value
;
86 debug("SDS identifier unknown: %d", id
);
91 void sds_store(int id
, int val
)
94 for(cs
= 0; cs
<MAXSDSS
; cs
++) {
95 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
){
100 debug("SDS identifier unknown: %d", id
);