Unsolved Errors while connecting to FSUIPC
-
[4_1531226685797_tserial.cpp](Uploading 100%) [3_1531226685797_mainwindow.ui](Uploading 100%) [2_1531226685797_mainwindow.cpp](Uploading 100%) [1_1531226685797_main.cpp](Uploading 100%) [0_1531226685796_fsinterface.cpp](Uploading 100%)
#include "mainwindow.h"
#include <QApplication>
#include <QDebug>#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <math.h>// Universal data
#include "universal.h"// FS interface
#include "FSinterface.h"#include "FSUIPC_User.h"
// for setting the timer
#include "timer.h"// for Serial RS232
#include "tserial.h"
#include"universal.h"
#include "types.h"const char *pszErrors[] =
{ "Okay",
"Attempt to Open when already Open",
"Cannot link to FSUIPC or WideClient",
"Failed to Register common message with Windows",
"Failed to create Atom for mapping filename",
"Failed to create a file mapping object",
"Failed to open a view to the file map",
"Incorrect version of FSUIPC, or not FSUIPC",
"Sim is not version requested",
"Call cannot execute, link not Open",
"Call cannot execute: no requests accumulated",
"IPC timed out all retries",
"IPC sendmessage failed all retries",
"IPC request contains bad data",
"Maybe running on WideClient, but FS not running on Server, or wrong FSUIPC",
"Read or Write request cannot be added, memory for Process is full",
};char buffer_fsupc[25000];
char buffer_reception[12];
char bufftx[40];
int main(int argc, char *argv[])
{QApplication a(argc, argv); MainWindow w; double Attitude[NROT]; FSAttitudeType FSAtt; DWORD dwResult;// a pointer to receive an error number if the operation fails. Tserial *com; // Serial declaration int SampleTime; // Sample Time in ms Timer timer; int capsam=0; int pousseeL, pousseeR; int pousseeOldL = 0, pousseeOldR = 0; char car; int vret,index=0; int oktrame=0; int pousseeTmp; char x[]=" \\\\.\\com3"; if(FSUIPC_Open(SIM_ANY,&dwResult)){ // Declaration des variables locales const char *pFS[] = { "FS98", "FS2000", "CFS2", "CFS1", "Fly!", "FS2002", "FS2004" }; // Change made 060603 // Okay, we're linked, and already the FSUIPC_Open has had an initial // exchange with FSUIPC to get its version number and to differentiate // between FS's. printf ("CapSim: Link established to FSUIPC\n") ; // printf ("Sim is %s,FSUIPC Version = %c.%c%c%c%c\r%s\n",(FSUIPC_FS_Version && (FSUIPC_FS_Version <= 7)) ? pFS[FSUIPC_FS_Version - 1] : "Unknown FS",'0' + (0x0f & (FSUIPC_Version >> 28)),'0' + (0x0f & (FSUIPC_Version >> 24)),'0' + (0x0f & (FSUIPC_Version >> 20)),'0' + (0x0f & (FSUIPC_Version >> 16)),(FSUIPC_Version & 0xffff) ? 'a' + (FSUIPC_Version & 0xff) - 1 : ' '); /* ///////////////////////////// une autre maniere de faire ///////////////////////////// */ // Timer //printf("\nEnter the Sample Time in miliseconde\n"); //scanf("%d",&SampleTime); SampleTime=100; // RS232 com=new Tserial(); if( com!=0 ) com->connect (x,9600,spNONE); // com Initialisation else printf("Error Setting COM"); }else{ //Openninig FSUIPC failed printf ("CapSim: Failed to open link to FSUIPC:%s\n", pszErrors[dwResult]) ; FSUIPC_Close(); // Closing when it wasn't open is okay, so this is safe here // com->disconnect(); // Closing the port return 0; } while(true) { Sleep(40); //if(timer.elasped((clock_t)SampleTime)) if(1){ /* -------------------------------------- Sending Data -------------------------------------- */ // Read from FS data structure FSUIPC_Read(0x000,25000,buffer_fsupc,&dwResult); FSUIPC_Process(&dwResult); // Process all the request(s) // sprintf(bufftx,"%4u %3u %6u %3u",*((unsigned int*)(buffer_fsupc+0x2BC))/128,(unsigned int)(*((double*)(buffer_fsupc+0x2CC))), // (unsigned int)floor((double)(((unsigned int)*((__int64 *)(buffer_fsupc+0x570))*(double)3.2808)/((double)65536.)+0.5)),0); /*(unsigned int)floor(((unsigned int)*((unsigned short int*)(buffer_fsupc+0xcc))*360.)/65536.+0.5),(unsigned int)*((unsigned short int*)(buffer_fsupc+0xe2)), (unsigned int)floor((double)(((unsigned int)*((unsigned int*)(buffer_fsupc+0xd4))*3.2808)/65536.+0.5)));*/ /* sprintf(bufftx,"%6u %01u %01u\n", *((unsigned short*)(buffer_fsupc+0x5682))&0xffff, *((unsigned char*)(buffer_fsupc+ 0x568A))&0xff, *((unsigned char*)(buffer_fsupc+ 0x568E))&0xff); printf("%s\n",bufftx);*/ if(_kbhit()){ car=_getch(); switch(car) { case ui->Alt : printf("To change Altitude turn the Dial"); capsam= (capsam*(65536./3.2808)); *((unsigned int*)buffer_fsupc)= capsam; FSUIPC_Write(0x7D4,4,buffer_fsupc,&dwResult); FSUIPC_Process(&dwResult); break; case ui-> Spd: printf("To change Speed turn the Dial:"); scanf("%u",&capsam); capsam = (capsam*16384)/100; *((unsigned int*)buffer_fsupc)= (unsigned short int) capsam; FSUIPC_Write(0x88C,2,buffer_fsupc,&dwResult); FSUIPC_Process(&dwResult); break; case ui-> Hdg : printf("To Change Heading , turn the Dial"); scanf("%u",&capsam); capsam= (capsam*65536)/36; capsam += ((capsam%10)>=5 ? 10 : 0); capsam= capsam/10; *((unsigned short int*)buffer_fsupc)= (unsigned short int )capsam; FSUIPC_Write(0x7CC,2,buffer_fsupc,&dwResult); FSUIPC_Process(&dwResult); // Process all th break; }} w.show(); return a.exec(); }
}
}Getting these errors: Tserial, com,spNONE, ui, Alt, Spd, Hdg undeclared identifier[0_1531226890354_main.cpp](Uploading 100%)
-
@mohammad_palwala shouldn't you asked in some FSUIPC mailing list? Your issue seems not related to Qt...
-
This post is deleted!