|
I try to connect to device, or initialize the connection , i don't know, in other words i use CeRapiInit(), but when the Pocket PC doesn't connect, my programm hangs on("frozen"). How to get know about if the pocket is connected or not?
|
|
|
|
|
Here's what I normally do:
RAPIINIT ri = { sizeof(RAPIINIT) };
HRESULT hRes = CeRapiInitEx(&ri);
DWORD dwRet = WaitForSingleObject(ri.heRapiInit, 5000);
if ((dwRet != WAIT_OBJECT_0) || !SUCCEEDED(ri.hrRapiInit))
{
OutputDebugString(_T("Failed to connect to the PDA. Make sure its connected via ActiveSync"));
CeRapiUninit();
}
---
"Man will never be free until the last king is strangled with the entrails of the last priest". -- Denis Diderot
|
|
|
|
|
Hai all,
In my appln.using eVC++ 6 in WinCE 4.1,
I load a bitmap on a dialog stretched to the output device screen.
The loading of the bitmap takes much time and eventually, slows down the application.
How can the bitmap loading can be made faster
Your help will be appreciated.
With Thanks,
Arun.
|
|
|
|
|
How are you loading the bitmap? What is the bitmap color depth?
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Hai Paulo,
I tried loading the bitmap in two ways:
1) By just loading from resource using "LoadBitmap()"
2) By loading from DLL.
Both have the same (slow)effect.
And the bitmaps used are of 24-bit color depth.
Thanks,
Arun
|
|
|
|
|
Try reducing the color depth of the bitmap. Odds are your display is not a true color, so you might want to match the bitmap color depth to the device's, speeding up the load process.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Hai Paulo,
I tried loading bitmaps with lower color depth.
The result is the same
Is there any other way to do it?
Thanks
Arun
|
|
|
|
|
Maybe not... Are you stretching the bitmap?
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Hi paulo,
ya, i stretched the bitmap over the dialog
which covers the target device output.
Thanks
Arun
|
|
|
|
|
T.Arun Chakaravarthy wrote:
ya, i stretched the bitmap over the dialog
which covers the target device output.
That may well be the problem... Stretching bitmaps is more expensive than just blitting them without change. Try this to see if speed improves.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Yes, it has some improvements in speed.
But still, there is noteable delay in loading the unstretched bitmap over the dialog.
Plz help me.
Thanks,
Arun A.C.
|
|
|
|
|
Can you please show the code you are using?
Maybe you can load the bitmap from resources at application startup and then just use it when you need it painted... (this will use up memory, of course)
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Hello,
I have already communicate with a lot of experts and read a lot about my
problem which is as follows: I want to develop a generic program for a
PocketPC, which logs the method-call and the time when any button or anything
else is executed, respectively a method is executed, in a file on the Pocket
PC. I need this for Usability studies. Every experts told me that i can reach
this only with embedded c++ or c code. I wrote my previous programs always with
c#.
So i want to ask in this forum if somebody can help me to solve my problem?
- this would be very important for me, because i need it for my diploma
(thesis).
thanks in advance.
Regards.
Patrick
|
|
|
|
|
Hello !
I'm facing a problem when opening a connection to a BlueTooth device (using CreateFile, WriteFile, ...). So, the connection is opened like a normal serial port but when I try to write something to the port, if the device was not connected, my program hangs (so, the WriteFile instruction never times out !!). I set the write timeout to a specified value (so, it is not an infinite timeout):
COMMTIMEOUTS Timeouts;<br />
Timeouts.ReadIntervalTimeout=MAXDWORD;<br />
Timeouts.ReadTotalTimeoutMultiplier=MAXDWORD;<br />
Timeouts.ReadTotalTimeoutConstant=500;<br />
Timeouts.WriteTotalTimeoutMultiplier=100;<br />
Timeouts.WriteTotalTimeoutConstant=500;<br />
SetCommTimeouts(hCom,&Timeouts);<br />
If I use this code on a desktop computer it works (so the WriteFile instruction times out if no connection is established).
Anybody has an idea how I can change this behaviour ?? This Write instruction is in fact a command sent to the device to get back its Id number (so, check if the connection was well established and the device recognized).
Thanks
|
|
|
|
|
Hi,
I'm doing a similar thing with an iPAQ and a Bluetooth module (I've been away so sorry for the delay in replying to your question). I had a look at my own code for setting the timeouts and as you can see it is very similar, but the values are a bit different:-
COMMTIMEOUTS timeouts;<br />
<br />
VERIFY(GetCommTimeouts(m_hSendPort, &timeouts));<br />
<br />
timeouts.ReadIntervalTimeout = MAXDWORD;<br />
timeouts.ReadTotalTimeoutMultiplier = 0;<br />
timeouts.ReadTotalTimeoutConstant = 0;<br />
timeouts.WriteTotalTimeoutMultiplier = 100;<br />
timeouts.WriteTotalTimeoutConstant = 0;<br />
<br />
VERIFY(SetCommTimeouts(m_hSendPort, &timeouts));
I haven't had a problem with this. On my system if the Bluetooth device is not connected, the Bluetooth connection will not open succesfully and my program detects that, so perhaps that is the difference. Sorry I can't be more help.
As you are a fellow Bluetoother, may I ask you a question? On my iPAQ, when I 'CreateFile' to start the comms it runs the Bluetooth manager and I have to manually select the device I want (even though it is the only Bluetooth device!). I would really like to automate this, any ideas? I've looked and looked on the web for help with this, but it is pretty thin.
Hope you sort your problem,
Ali
|
|
|
|
|
Hi !
Thank you for your response !
I solved my problem by watching the DSR line (this was not working on the desktop but works fine on the PocketPC). If this line is at 1, the device is connected, otherwise it isn't.
For your question, I had the same problem once but I cannot remeber how I solved it... Try perhaps to pair the devices ?? Or check your BlueTooth settings with the BlueTooth manager...
|
|
|
|
|
cedric moonen wrote:
Thank you for your response
No problem!
cedric moonen wrote:
I solved my problem
That's great
cedric moonen wrote:
For your question, I had the same problem once but I cannot remeber how I solved it... Try perhaps to pair the devices ?? Or check your BlueTooth settings with the BlueTooth manager...
I have got the two devices paired already and I can't find anything in the manager, unless its there and I am not seeing it ! I wondered if it just happens on iPAQs? Anyway if you do remember how you sorted it let me know, thanks.
Cheers,
Ali
|
|
|
|
|
You need to set BtBrowserEnabled=0 for the outgoing COM port that attaches to the other BT device.
|
|
|
|
|
hi,
my app is constituted by a http client (ppc emulator) and a http server (desktop).
the server accepts multipart POST.
my problem is that, sometimes the server can just receive the http header sent by the client. i dunno it's the problem of my server or client.
here is my code segment:
CLIENT:
WebRequest request;
Stream requestStream;
try
{
request = HttpWebRequest.Create(url);
request.ContentType = "multipart/form-data; boundary=" + boundaryString + "\r\n";
request.ContentLength = message.Length;
request.Method = "POST";
request.Timeout = 10000;
requestStream = request.GetRequestStream();
requestStream.Write(message, 0, message.Length);
// Close the Stream object.
requestStream.Close();
// 1. Get the Web Response Object from the request
WebResponse response = request.GetResponse();
// 2. Get the Stream Object from the response
Stream responseStream = response.GetResponseStream();
// 3. Create a stream reader and associate it with the stream object
StreamReader reader = new StreamReader (responseStream);
// 4. read the entire stream
results = reader.ReadToEnd();
reader.Close();
responseStream.Close();
}
catch(WebException webEx)
{
results = "An exception occurred relating to the use of " +
"a web response or request object. The specific exception was:" +
webEx.Message;
}
//Did some type of general exception occur?
catch(Exception ex)
{
results = "A general exception occurred while attempting to " +
"retrieve the requested page." +
ex.Message;
}
SERVER:
private void AcceptCallback(IAsyncResult ar)
{
// Signal the main thread to continue.
allDone.Set();
// Get the socket that handles the client request.
Socket listener = (Socket) ar.AsyncState;
Socket handler = listener.EndAccept(ar);
f1.ShowSystemMessage("\r\nClient Connected!!"
+"\r\n=================="
+"\r\nCLient IP "
+ handler.RemoteEndPoint + "\r\n");
// Create the state object.
StateObject state = new StateObject();
state.workSocket = handler;
handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReadCallback), state);
}
private void ReadCallback(IAsyncResult ar)
{
String content = String.Empty;
// Retrieve the state object and the handler socket
// from the asynchronous state object.
StateObject state = (StateObject) ar.AsyncState;
Socket handler = state.workSocket;
// Read data from the client socket.
int bytesRead = handler.EndReceive(ar);
if (bytesRead > 0)
{
state.sb.Append(Encoding.ASCII.GetString(state.buffer));
f1.ShowSystemMessage(state.sb.ToString());
ProcessRequest(state);
// Check for end-of-file tag. If it is not there, read more data.
content = state.sb.ToString();
// All the data has been read from the client. Display it on the console.
f1.ShowSystemMessage("Read " + content.Length.ToString()
+ " bytes from socket. \r\n Data : " + content );
state.ClearSB();
}//end if
}
thanks
|
|
|
|
|
I'm new to wireless development and am looking for a small sample app that would retrun me the signal strength of the wireless client atapted in my CE device. Or just pointing me in the right direction would help to get me started.
Thanks,
Clay
|
|
|
|
|
Does anyone where there is a good bluetooth info page for windows CE.. the MSDN information is very scathered and incomplete (in my opinion). I can't find the links to most of their examples and the one that did come with the PocketPC sdk does not work.
(I get an error 10050 - meaning network down - but I know bluetooth works because the bluetooth manager on CE finds other devices [This error occurs during WSALookupServiceNext() even though WSALookupServiceBegin() returns successfully]).
If anyone has a good starting point it would be appreciated.
Thanks, Tom.
|
|
|
|
|
I figured it out, here is the reason:
I have just had confirmed from Microsoft Technical Support that the Winsock approach to Bluetooth communications will not work in the IPAQ Pocket PC because it contains a Widecom stack rather than a Microsoft implementation. Widecom do provide a SDK but it is expensive (1,395 USD). I know this might be slightly off-subject, but my IPAQ 2210 has two comports, COM5 and COM8, which are supposed to transmit/receive via Bluetooth. Does anyone have any experience in programming these?
Many thanks for everyone's previous helpful comments.
Posted by: Kevin at January 30, 2004 04:33 PM
|
|
|
|
|
Hi,
Yes, I have tried this on an iPAQ 1945 and it works well. I just treat the Bluetooth as a com port. My only problem is that it always asks me to select the Bluetooth device even though there is only one Bluetooth device.
Please let me know how you get on and if this happens to you. If you want some help I will be glad to help if I can.
Cheers,
Ali
|
|
|
|
|
Hi all,
I am compiling a project in EVC4.0 targetting MIPS devices.
I have installed Pocket PC 2003 SDK.
But the MIPS option doesnt appear in the WCE configuration of the EVC4.0 IDE.
I also checked the installation folder of the PPC 2003 SDK,
\\Windows CE Tools\wce420\POCKET PC 2003\Target\armv4.
\\Windows CE Tools\wce420\POCKET PC 2003\Target\x86.
I find only ARM and X86 target. The target folder MIPS is not available in that.
Can any one suggest me where do I get the SDK to build the application for MIPS devices in EVC4.0.
mani.
|
|
|
|
|