473,508 Members | 2,281 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Real Time Embedded Systems Monitor in Python?

Hey Everyone!
I've got a question regarding the capabilities of python in a real
time environment. I'll start by saying I'm a little bit flaky when it
comes to terminology, so please correct me or ask where it seems I'm
not beings specific or using the wrong wording.

I am looking into a project for the company I work for. Essentially
it involves setting up a real time monitor / signal injector in
between a CPU board and a system controller. The system controller
sends signals (message packets) to the CPU board. We would like to
create an environment where we can modify signals, inject new
messages, drop signals, etc. This would simulate communication
failures and message dropouts to see how the CPU board responds. The
application monitor would use a COM port to send and receive
messages. The most important part about this monitor is that
absolutely no messages get delayed or dropped due to inturrupts or lag
on the PC that the monitor is running on. What would be the expected
sampling time range that I could expect to handle?

I have seen similar applications written for other projects that we
have which were done in Visual Basic. I assume that if VB is up to the
task, Python should be as well. What kind of libraries am I looking
at? I will probably use wxWindows, but what about for the serial ports
and packet timing?

Like I said - I'm not sure what kind of "real time" this is - all I
know is that I need messages to not get dropped when they're received.

Thanks!
Blaine Booher

Mar 19 '07 #1
1 1763

"frikk" <fr*****@gmail.comwrote:
>
I am looking into a project for the company I work for. Essentially
it involves setting up a real time monitor / signal injector in
between a CPU board and a system controller. The system controller
sends signals (message packets) to the CPU board. We would like to
create an environment where we can modify signals, inject new
messages, drop signals, etc. This would simulate communication
failures and message dropouts to see how the CPU board responds. The
application monitor would use a COM port to send and receive
messages. The most important part about this monitor is that
absolutely no messages get delayed or dropped due to inturrupts or lag
on the PC that the monitor is running on. What would be the expected
sampling time range that I could expect to handle?
What speed is the serial port running at? I have run a port at 115200 Baud
(albeit not carrying back to back packets), on a pentium II running Linux.

If you are not trying to do something insane like a Fast Fourier Transform in
real time, then Python should do the job for you - I would suggest you just
try it, starting with the smallest subset of commands - should take no longer
than about a week to get a prototype running.

When you say "in between" do you mean in one port and out of another?
So that you have to handle an upstream and downstream serial port?

The sampling time range will be directly (more or less, given some spillage
for turn around times) related to the baud rate, unless its a sort of sliding
window full duplex protocol. (I assume there is some sort of error
detection and recovery scheme - these normally waste about 10% of the
available bandwidth)
>
I have seen similar applications written for other projects that we
have which were done in Visual Basic. I assume that if VB is up to the
task, Python should be as well. What kind of libraries am I looking
at? I will probably use wxWindows, but what about for the serial ports
and packet timing?
Start off with a basic character interface, and use the serial module,
solving the protocol hassles first.
You can add the pretty pictures afterwards.

hth - Hendrik
Mar 20 '07 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
6892
by: sdhyok | last post by:
Hi, I am trying to build up a system handling time series data a lot. Do you know any well-designed python class specially for time series data? Thanks in advance. Shin, Daehyok
4
3027
by: Dennis Clark | last post by:
Hi all, I've looked through the threads about embedded Python that are a year and a half old, and I thought that I'd ask this question now to see if anything has changed. Has anyone, or is...
18
12554
by: Ken | last post by:
Hi. Can anyone refer me to any articles about the compatibility between c++ polymorphism and real-time programming? I'm currently on a real-time c++ project, and we're having a discussion...
5
3202
by: wahn | last post by:
Hi, Here is a problem I came across and need some help with. I developed a little Python script with some classes which runs standalone and communicates with a database via sockets. So far...
50
5651
by: diffuser78 | last post by:
I have just started to learn python. Some said that its slow. Can somebody pin point the issue. Thans
20
22470
by: Jack | last post by:
Is there a Python packaging that is specifically for embedded systems? ie, very small and configurable so the user gets to select what modules to install? For Linux-based embedded systems in...
62
2300
by: Generic Usenet Account | last post by:
A lot of research has been done to prove that the contention that C code is more efficient and more compact than equivalent C++ code is a myth. My posting pertains to a slightly different aspect...
0
1596
by: Johannes Nix | last post by:
Hi, this might be of interest for people who are look for practical information on doing real-time signal processing, possibly using multiple CPUs, and wonder whether it's possible to use...
2
3062
by: m | last post by:
I have a script I would like to write but I am not sure of where to start / approach. Perhaps someone could help direct me in the right direction. Any advice is appreciated. I would like to...
0
7123
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7324
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
1
7042
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7495
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5627
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
4707
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3181
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
766
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
418
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.