repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed submodules iTasks and clean-platform
[mTask.git]
/
int
/
sds.c
diff --git
a/int/sds.c
b/int/sds.c
index
3a14c60
..
c5f69b6
100644
(file)
--- a/
int/sds.c
+++ b/
int/sds.c
@@
-1,17
+1,24
@@
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
+
+#ifndef STM
#include <unistd.h>
#include <unistd.h>
+#include <stdio.h>
+#endif
-#include "
mTaskSymbols
.h"
+#include "
interface
.h"
#include "interpret.h"
#include "interpret.h"
-#include "misc.h"
#include "sds.h"
struct sds sdss[MAXSDSS];
uint8_t c;
#include "sds.h"
struct sds sdss[MAXSDSS];
uint8_t c;
-void sds_register(int fd)
+void sds_init(void)
+{
+ memset(&sdss, 0, sizeof(struct sds)*MAXSDSS);
+}
+
+void sds_register(void)
{
uint8_t cs;
for(cs = 0; cs<MAXSDSS; cs++)
{
uint8_t cs;
for(cs = 0; cs<MAXSDSS; cs++)
@@
-19,53
+26,53
@@
void sds_register(int fd)
break;
if(cs == MAXSDSS)
break;
if(cs == MAXSDSS)
- die("Trying to add too much
tasks...\n
");
+ die("Trying to add too much
sdss...
");
memset(&sdss[cs], 0, sizeof(struct sds));
//Read identifier
memset(&sdss[cs], 0, sizeof(struct sds));
//Read identifier
-
read16(fd, c, sdss[cs].id
);
+
sdss[cs].id = read16(
);
//Read value
//Read value
-
read16(fd, c, sdss[cs].value
);
+
sdss[cs].value = read16(
);
- debug("
\nReceived sds %d: %d\n
", sdss[cs].id, sdss[cs].value);
+ debug("
Received sds %d: %d
", sdss[cs].id, sdss[cs].value);
sdss[cs].used = true;
}
sdss[cs].used = true;
}
-bool sds_update(
int f
d)
+bool sds_update(
voi
d)
{
uint8_t cs, id;
//Read identifier
{
uint8_t cs, id;
//Read identifier
-
read(fd, &id, 1
);
+
id = read16(
);
for(cs = 0; cs<MAXSDSS; cs++){
if(!sdss[cs].used)
continue;
if(sdss[cs].id == id){
//Read value
for(cs = 0; cs<MAXSDSS; cs++){
if(!sdss[cs].used)
continue;
if(sdss[cs].id == id){
//Read value
- read16(fd, c, sdss[cs].value);
+ sdss[cs].value = read16();
+ debug("Received sds update %d: %d",
+ sdss[cs].id, sdss[cs].value);
return true;
}
}
return false;
}
return true;
}
}
return false;
}
-void sds_publish(int id
, int fd
)
+void sds_publish(int id)
{
uint8_t cs;
{
uint8_t cs;
- char msg[6];
for(cs = 0; cs<MAXSDSS; cs++){
if(sdss[cs].used && sdss[cs].id == id){
for(cs = 0; cs<MAXSDSS; cs++){
if(sdss[cs].used && sdss[cs].id == id){
- debug("Publish %d=%d\n", sdss[cs].id, sdss[cs].value);
- sprintf(msg, "u%c%c%c%c\n",
- 0,
- sdss[cs].id,
- sdss[cs].value/265,
- sdss[cs].value%265);
- write(fd, msg, 6);
+ debug("Publish %d=%d", sdss[cs].id, sdss[cs].value);
+ write_byte('u');
+ write16(sdss[cs].id);
+ write16(sdss[cs].value);
+ write_byte('\n');
return;
}
}
return;
}
}
- debug("SDS identifier unknown: %d\n", id);
+ debug("SDS identifier unknown: %d", id);
+ die("");
}
int sds_fetch(int id)
}
int sds_fetch(int id)
@@
-74,7
+81,8
@@
int sds_fetch(int id)
for(cs = 0; cs<MAXSDSS; cs++)
if(sdss[cs].used && sdss[cs].id == id)
return sdss[cs].value;
for(cs = 0; cs<MAXSDSS; cs++)
if(sdss[cs].used && sdss[cs].id == id)
return sdss[cs].value;
- debug("SDS identifier unknown: %d\n", id);
+ debug("SDS identifier unknown: %d", id);
+ die("");
return 0;
}
return 0;
}
@@
-87,5
+95,6
@@
void sds_store(int id, int val)
return;
}
}
return;
}
}
- debug("SDS identifier unknown: %d\n", id);
+ debug("SDS identifier unknown: %d", id);
+ die("");
}
}