solidust
Newbie level 4

- Joined
- Jan 7, 2010
- Messages
- 5
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Location
- trinidad and tobago
- Activity points
- 1,322
Ok hope that somebody could help. I tried a simple program on Fuzzytech Pro edition, basically one input and one output and two rules 1 If input low output off. 2 If input high output on.
I want use this on a PIC 16F74 micro-controller.
I compiled to C in fuuzytech and this is the code obtained. wat the???
How can i get this in a form the PIC can understand?
#define PRECOMPILER
#define FTLIBC16
#include "ftlibc.h"
#define FUZZYDEFINED
#define FLAGSDEFINED
#include "FUZZYPIC.h"
static FUZZY crispio[1+1];
static FUZZY fuzvals[2+2+0];
static double dcvs[1+1];
double * const pcvfuzzypic = dcvs;
static const FUZZY tpts[8] = {
0x0000, 0x0000, 0x4000, 0xDFFF,
0x2000, 0xBFFF, 0xFFFF, 0xFFFF};
static const FUZZY xcom[2] = {
0x0000, 0xFFFF};
static const BYTE rt0[6] = {
0x00, 0x01, 0x02,
0x00, 0x01, 0x03};
static const FRAT frat0[4] = {
0x0003, 0x0000, 0x0003, 0x0001};
static const FUZZY BVRCode[4] = {
0x0000, 0xFFFF,
0x0000, 0xFFFF};
static const double BVRShell[6] = {
0, 1, 2e-005,
0, 1, 2e-005};
FLAGS fuzzypic(void) {
crispio[0] = BVScaleShell2Code(&BVRCode[0*2], &BVRShell[0*3], dcvs[0], BVRCode[0*2+1]<MAXBVRANGE, MAXBVRANGE);
fuzptr = (PFUZZY) fuzvals;
tpptr = (PFUZZY) tpts;
crisp = crispio[0];
bTNum = 2;
flms();
fuzptr = (PFUZZY) fuzvals;
bTNum = 2;
fratptr = (PFRAT) frat0;
rtptr = (PFTBYTE) rt0;
iMMin(); /* Max-Min */
invalidflags = 0;
fuzptr = &fuzvals[2];
xcomptr = (PFUZZY) xcom;
crispio[1] = 0x8000;
bTNum = 2;
defuzz = &crispio[1];
þ·—<mI q();
dcvs[1] = BVScaleCode2Shell(&BVRCode[1*2], &BVRShell[1*3], crispio[1]);
return invalidflags;
}
void initfuzzypic(void) {
for (fuzptr = &fuzvals[2];
fuzptr <= &fuzvals[3];
*fuzptr++ = 0);
}
This is crazy. Anybody can make sense? Also a .h file was created but i didn't include it here.
I want use this on a PIC 16F74 micro-controller.
I compiled to C in fuuzytech and this is the code obtained. wat the???
How can i get this in a form the PIC can understand?
#define PRECOMPILER
#define FTLIBC16
#include "ftlibc.h"
#define FUZZYDEFINED
#define FLAGSDEFINED
#include "FUZZYPIC.h"
static FUZZY crispio[1+1];
static FUZZY fuzvals[2+2+0];
static double dcvs[1+1];
double * const pcvfuzzypic = dcvs;
static const FUZZY tpts[8] = {
0x0000, 0x0000, 0x4000, 0xDFFF,
0x2000, 0xBFFF, 0xFFFF, 0xFFFF};
static const FUZZY xcom[2] = {
0x0000, 0xFFFF};
static const BYTE rt0[6] = {
0x00, 0x01, 0x02,
0x00, 0x01, 0x03};
static const FRAT frat0[4] = {
0x0003, 0x0000, 0x0003, 0x0001};
static const FUZZY BVRCode[4] = {
0x0000, 0xFFFF,
0x0000, 0xFFFF};
static const double BVRShell[6] = {
0, 1, 2e-005,
0, 1, 2e-005};
FLAGS fuzzypic(void) {
crispio[0] = BVScaleShell2Code(&BVRCode[0*2], &BVRShell[0*3], dcvs[0], BVRCode[0*2+1]<MAXBVRANGE, MAXBVRANGE);
fuzptr = (PFUZZY) fuzvals;
tpptr = (PFUZZY) tpts;
crisp = crispio[0];
bTNum = 2;
flms();
fuzptr = (PFUZZY) fuzvals;
bTNum = 2;
fratptr = (PFRAT) frat0;
rtptr = (PFTBYTE) rt0;
iMMin(); /* Max-Min */
invalidflags = 0;
fuzptr = &fuzvals[2];
xcomptr = (PFUZZY) xcom;
crispio[1] = 0x8000;
bTNum = 2;
defuzz = &crispio[1];
þ·—<mI q();
dcvs[1] = BVScaleCode2Shell(&BVRCode[1*2], &BVRShell[1*3], crispio[1]);
return invalidflags;
}
void initfuzzypic(void) {
for (fuzptr = &fuzvals[2];
fuzptr <= &fuzvals[3];
*fuzptr++ = 0);
}
This is crazy. Anybody can make sense? Also a .h file was created but i didn't include it here.