You can subscribe to this list here.
| 2011 |
Jan
|
Feb
|
Mar
(5) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(3) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Pavel P. <pi...@cm...> - 2022-03-19 14:10:33
|
Dear Severin, On Wednesday 16 of March 2022 09:07:40 Severin Mutter wrote: > Some time ago we were already in contact about the lincan driver. > We have a customer that wants to use the lincan driver with Debian 11, > Kernel 5.10 LTS. We looked already a bit into the code and saw that many > things need to be changed in the lincan driver to work with the newer > kernel. Do you see a chance that the driver is ported to this kernel > version? Could you support us in doing so? Thank you for your help. generally I have still some sentiment for our LinCAN and CANopen projects from OCERA days. It served us (CTU university, pikron.com, Elektroline.cz) before switch to SocketCAN and it seems to serve to some community allmost 20 years already. It is interesting to see that design was able to survive so many years when in the fact my time investment to well engineer the driver was against research project coordinator, professor Zdenek Hanzalek, request to stitch something quickly from available sources on the net and do the higher level research waves above that... I remember, I have spent my vacations and Christmas at the start on LincAN to not use my time demanded by him for the other work. It is bitter joke that the group with blocked my efforts, hopes, hijacked hard my teaching and moved to mine more public moneys in 2018 still references mainly project based on my engineering effort as their advertisement to grab more public and company money for their mostly proprietary work... I still believe that for demanding hard-real time (or near hard-realtime tasks as Linux kernel allows) the LinCAN can provide better latencies than SocketCAN, but SocketCAN have received much more investments and CAN controllers producers support and API and devices support is much more confortable than LinCAN today. But LinCAN is relatively simple and keeping its support for SJA1000 based cards functional even for the current kernels should not be so much effort. It is question where to cut support for older kernels because keeping compatibility with 2.x and 3.x kernels add quite large unnecessary complexity to defines and remapping of the kernel functions. When I look to the GIT history, when you have contacted me the last time, I have updated the code - Prepare Linux modules build for 5.x kernel series. - LinCAN updated to build with 4.19 kernel. I ma not sure if I have received some feedback top that update from you. I know that you have reported some problems with messages lost which I have expected to be related probably to some problem with setting of the priorities or memory barriers in the code. Can you summary state till which kernel version driver works well and what are issues for the newer ones? I keep the uLAN driver to be working with current kernels from the Linux kernel 1.x days https://sourceforge.net/p/ulan/ulan-drv/ci/master/tree/ which uses similar infrastructure so I can it as some reference to move LinCAN forward too. I cannot promise any timing, I push forward mass Computer Architectures class forward with related simulator QtRVSim, we are near to contribute SJA1000 like driver for RISC-V ESP32C3 to NuttX with my student, we have ready even HW timestamping support for Xilinx CAN and our own open-source IP core which waits to send request for mainlining, open source replacement of Matlab/Simulink (pysimCoder) and other stuff on which paying companies are dependant. That is for university, I have snother motion controller to finish and European Space Agency project before final review at my company... So I can help with advises, may be some patch without testing. But if there is some funding for students stipends available I can try some of them working on our other CAN project motivate to look at LinCAN. I have more SJA1000 based cards so they could do testing on HW and we have precise timestamping on CTU CAN FD core so we can do precise analysis of the driver behavior. We have also contributed CAN and CAN FD emulation support to QEMU so it makes even some phases of development possible without direct need of the of real hardware. Best wishes, Pavel Pisa phone: +420 603531357 e-mail: pi...@cm... Department of Control Engineering FEE CVUT Karlovo namesti 13, 121 35, Prague 2 university: http://dce.fel.cvut.cz/ personal: http://cmp.felk.cvut.cz/~pisa projects: https://www.openhub.net/accounts/ppisa CAN related:http://canbus.pages.fel.cvut.cz/ Open Technologies Research Education and Exchange Services https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home |
|
From: Pavel P. <pi...@cm...> - 2019-01-26 22:17:42
|
Dear Severin, it is hard to guess what is the problem. What is the used CAN interface card? If it is PCI express or PCI with MSI capability then it could help to try enable it. It would be quite dirty hack in LinCAN but it is possible. MSI ensures that interrupt vector is not shared with other sources. Try to analyze and possibly send cat /proc/interrupts on old an new kernel if there is a difference and which other drivers share interrupt. You can try Ftrace to fight latency. https://www.kernel.org/doc/html/v4.19/trace/ftrace.html https://www.osadl.org/Technical-Workshop-Real-time-Linux-Late.latencyfightingworkshop.0.html There is OSADL Worksop on the topic March 26, 2019 https://www.osadl.org/fileadmin/dam/presentations/RTLWS11/rostedt-ftrace.pdf Best wishes, Pavel On Tuesday 22 of January 2019 09:12:53 Severin Mutter wrote: > Dear Pavel > > We are already using the RT Kernel of Debian (Linux-image-4.9.0-7-rt-amd64) > and verified it already by doing cyclictest. Changing the priority of the > interrupt processing thread did not help with our problem. With an older > Debian 6 with a realtime Kernel, receiving all messages works fine. In > Debian 9 with adding "acpi=off", we also receive all messages. Do you have > any other suggestions what could be the problem? > > Details about the project will follow. Thank you for the additional > information. > > Kind regards > > Severin Mutter > Technology and Development > Customer Support |
|
From: Pavel P. <pi...@cm...> - 2019-01-21 11:44:43
|
Dear Severin, I am not sure what can cause the problem, but it is possible that ACPI support in newer kernel does not play well with your hardware. You should use real-time kernel to support reasonable latencies for you applications and interrupts processing. There are prebuild RT kernels for Debian. Look for linux-image-XXX-rt-amd64 packages. You can build your own RT kernel as well. See https://wiki.linuxfoundation.org/realtime/start You should test your hardware by cyclictest https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest --mlockall --smp --priority=80 --interval=200 --distance=0 then try higher priority --priority=99 and then lower, i.e. --priority=20 If you find that the maximum latency values are high for cyclictest then there is no cure for LinCAN. You need solve problem of your board/kernel combination the first. If the priority 80 or 99 is without the problem and lower have problems then it is possible to use schedtool -F -p 90 $PID where PID is PID of interrupt processing thread for real-time kernel. Please something about your applications and LinCAN use. It is already old project but each sucesfull use case is motivation for our Linux CAN work. We focus mainly on SocketCAN these days. SockerCAN hard real-time capabilities can be worse than LinCAN but it is much more spread and supports much more cards and interfaces. I effort is now focussed to CAN FD Open-Source and Open-Hardware CTU CAN FD Core. Complete VHDL sources and documentation is there: https://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core Integration with EP4CGX15 based PCIe card there https://gitlab.fel.cvut.cz/canbus/pcie-ctu_can_fd/tree/master/db4cgx15_pcie_ctu_can_fd Integration with Xilinx Zynq-7000 there https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top Best wishes, Pavel Pisa > Dear Mr Pisa > We are using a Debian 9 with the Realtime Kernel. When using the tool > readburst and printing the messages to the console, we do not receive all > messages that were on the Bus (verified with a CAN Analyser). Redirecting > the output of the readburst to a file, all messages are received. With an > older Debian 6, we did not see this behavior, all messages were always > receivd. In Debian 9, we were able to receive all messages printed to the > console with the Grub Argument "acpi=off". As this disables the HPET Timer, > it is not an option for our applications. Do you have any idea what could > interfere with the message receipton? Any help will be appreciated. Thank > you. Kind regards > Severin |
|
From: Pavel P. <pi...@cm...> - 2013-05-08 11:21:42
|
Dear Sukhotin Mikhail, On Wednesday 01 May 2013 17:50:58 aivenday wrote: > https://github.com/SukhotinM/ortcan_canmonitor thanks for contribution. I have found time to clone and build CAN monitor from your repository today. I have run it with our CANopen dynamic device under virtual CAN network and it works as expected. There are some small layout changes visible. Generally, I have no objections even do significant changes to the layout, i.e. use different way to represent data bytes for CAN message generation, table with cells for example. But I consider new layout as little worse. Spacing of status bar etc. But I expect that it can be tuned by you or somebody else in future. So I expect that we include your changes after my colleague Frantisek Vacek checks new code for longer term maintainability. I would be happy if you can try to tune one thing in the layout. This is to define minimal size of node number entry on EDS view panel. It has now dynamic sizing and if you erase value then it colapses to the small vertical bar. Some minimal size defined so that it is equivalent to 3 characters would help. May it be the height could be set equivalent to the first/value box. > Ohledně "canmonitor/canmonitor/src/org/jx/xmlgui" ještě jsem nezkoušel to > předělat. Ale vypadá to, že třidy z této složky nijak nezávisí na These JAVA sources are generated by JavaIdea development environment. Their license should be mostly OK. Infrastructural ones are MPL 1.1 (i.e. open-source) licensed and generated sources are Fanda Vacek work. But the long term plan is to try to use some approach to build menus which is more pure SWING alike. If you have idea how to build same/similar functionality from scratch in Swing, it would be very interresting for us. But if Frantisek approves usability of your already done changes standalone (src/org/jx/xmlgui removal) then I commit changes to the mainline and as for your work in frame of OSP it is fully finished and accepted contribution. Best wishes, Pavel Pisa |
|
From: sukhomik <suk...@fe...> - 2013-03-01 09:27:22
|
Dear professor Píša, Thank you! I have lessons in monday from 14:30, so we can met, for instance, in 13:00 (if I correctly understand your week schedule) in KN:G-203. Meanwhile, I'll look closely this project. Best wishes, Sukhotin Mikhail 1. 3. 2013 v 1:08, Pavel Pisa <pi...@cm...>: > Dear Sukhotin Mikhail, > > I would highly appreciate if you contribute to the JAVA CANmonitor > project. It would be great if you can find solution to > convert its GUI to use layout which does not require > JAVA Idea. But I am (personally) not expert for JAVA, so I can > help you with project environment setup and build of test > CANopen devices. I have knowledge even of JAVA CANmonitor code > structure but I cannot help much with layout and JAVA toolkit > related questions. Consultation with Fanda Vacek - original author > is possible but he is very busy at his actual work for BlackBery. > > The other work (which could be of some community interrest) > is to provide JAVA CANmonitor build which integrates it as an > Eclipse component. There are many other options for enhancement > as well. > > I am usually available at Mondays, Wednesdays and Fridays. > Please, look at my week schedule at > > > https://dce.fel.cvut.cz/katedra/lide/pritomnost-na-pracovisti/?catid=63&uis=233 > > and send me e-mail with your preferences for meeting. > > Best wishes, > > Pavel Pisa > > On Thursday 28 February 2013 12:31:07 sukhomik wrote: >> Dear professor Píša, >> >> My name is Sukhotin Mikhail and I'm student of Open-Source Programming >> course. As my semestral work I want to choose this project: >> http://rtime.felk.cvut.cz/osp/cviceni/projekty/can-canmonitor/ CAN/CANopen >> monitor. Particularly in changing user interface so that it will not depend >> on JAVA Idea components. Is it project still actual and can I join it? >> Thank you, >> Sukhotin Mikhail > |
|
From: Pavel P. <pi...@cm...> - 2013-03-01 02:46:52
|
Dear Sukhotin Mikhail, I would highly appreciate if you contribute to the JAVA CANmonitor project. It would be great if you can find solution to convert its GUI to use layout which does not require JAVA Idea. But I am (personally) not expert for JAVA, so I can help you with project environment setup and build of test CANopen devices. I have knowledge even of JAVA CANmonitor code structure but I cannot help much with layout and JAVA toolkit related questions. Consultation with Fanda Vacek - original author is possible but he is very busy at his actual work for BlackBery. The other work (which could be of some community interrest) is to provide JAVA CANmonitor build which integrates it as an Eclipse component. There are many other options for enhancement as well. I am usually available at Mondays, Wednesdays and Fridays. Please, look at my week schedule at https://dce.fel.cvut.cz/katedra/lide/pritomnost-na-pracovisti/?catid=63&uis=233 and send me e-mail with your preferences for meeting. Best wishes, Pavel Pisa On Thursday 28 February 2013 12:31:07 sukhomik wrote: > Dear professor Píša, > > My name is Sukhotin Mikhail and I'm student of Open-Source Programming > course. As my semestral work I want to choose this project: > http://rtime.felk.cvut.cz/osp/cviceni/projekty/can-canmonitor/ CAN/CANopen > monitor. Particularly in changing user interface so that it will not depend > on JAVA Idea components. Is it project still actual and can I join it? > Thank you, > Sukhotin Mikhail |
|
From: Pavel P. <pi...@cm...> - 2013-03-01 01:52:40
|
Dear Sukhotin Mikhail, I would highly appreciate if you contribute to the JAVA CANmonitor project. It would be great if you can find solution to convert its GUI to use layout which does not require JAVA Idea. But I am (personally) not expert for JAVA, so I can help you with project environment setup and build of test CANopen devices. I have knowledge even of JAVA CANmonitor code structure but I cannot help much with layout and JAVA toolkit related questions. Consultation with Fanda Vacek - original author is possible but he is very busy at his actual work for BlackBery. The other work (which could be of some community interrest) is to provide JAVA CANmonitor build which integrates it as an Eclipse component. There are many other options for enhancement as well. I am usually available at Mondays, Wednesdays and Fridays. Please, look at my week schedule at https://dce.fel.cvut.cz/katedra/lide/pritomnost-na-pracovisti/?catid=63&uis=233 and send me e-mail with your preferences for meeting. Best wishes, Pavel Pisa On Thursday 28 February 2013 12:31:07 sukhomik wrote: > Dear professor Píša, > > My name is Sukhotin Mikhail and I'm student of Open-Source Programming > course. As my semestral work I want to choose this project: > http://rtime.felk.cvut.cz/osp/cviceni/projekty/can-canmonitor/ CAN/CANopen > monitor. Particularly in changing user interface so that it will not depend > on JAVA Idea components. Is it project still actual and can I join it? > Thank you, > Sukhotin Mikhail |
|
From: Pavel P. <pi...@cm...> - 2012-06-21 22:18:31
|
Dear Peter,
thanks much for your contribution. The code compiles and runs
OK on my system now. I have included your changes into "master"
branch and updated "ortcan-top" to pull new CANmonitor
revision.
I have tested it with two virtual slaves and great is that
even UNSIGNED56 and UNSIGNED64 types behaves correctly, great.
Best wishes,
Pavel Pisa
PS: As for JAVA 1.4, I think that version 1.6 dependency is
not problem today.
On Thursday 21 June 2012 13:15:58 kub...@fe... wrote:
> Hello all,
> sorry for the delay. I was busy.
>
> 1) Problem with Java compatibility:
> Incompatibility with the Java 1.4 was caused using of "ENUM" types.
> Now it is working.
>
> 2) Problem with GUI exception:
> This problem was caused incorrect using of GUI library. Now it is working.
>
> The fixed code is in the branch "kubaspet2".
> I would like to merge the branch "kubaspet2".
>
> Thank all
> Petr Kubasta
|
|
From: <kub...@fe...> - 2012-06-21 11:37:18
|
Hello all,
sorry for the delay. I was busy.
1) Problem with Java compatibility:
Incompatibility with the Java 1.4 was caused using of "ENUM" types.
Now it is working.
2) Problem with GUI exception:
This problem was caused incorrect using of GUI library. Now it is working.
The fixed code is in the branch "kubaspet2".
I would like to merge the branch "kubaspet2".
Thank all
Petr Kubasta
Quoting Pavel Pisa <pi...@cm...>:
> Hello all,
>
> the first, thank much to Petr Kubasta for his contribution
> and to Fanda Vacek for review. I have pulled kubaspet1
> branch to the master.
>
> I have observed problems to compile updated
> version. This has been resolved but there is yet another
> problem where I have not succed and reverted "master"
> back to state before changes.
>
> The environment used for testing
>
> javac 1.6.0_26 compiler
> java version "1.6.0_24"
> and
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
>
> on debian "lenny" and Debian "unstable".
>
> Then I tried java-7-openjdk on Debian "unstable"
>
> javac 1.7.0_03
> java version "1.7.0_03"
> OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-2)
> OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
>
> The first problem is that updates have made code noncompatible
> with Java 1.4 language version selected by OrtCAN ANT build.
>
> I have updated source language version to 1.5
>
> diff --git a/canmonitor/build.xml b/canmonitor/build.xml
> index 786f5c7..f5ece2c 100644
> --- a/canmonitor/build.xml
> +++ b/canmonitor/build.xml
> @@ -61,7 +61,7 @@
> </copy>
> <javac srcdir="${src}" destdir="${class}"
> classpath="${jar.jdom}:${jar.ui}"
> - source="1.4"
> + source="1.5"
> debug="true"
> optimize="false"
> includes="${path.monitor}/CanMonitor.java"
> @@ -115,7 +115,7 @@
> <javac srcdir="${src}" destdir="${class}"
> debug="true"
> optimize="false"
> - source="1.4"
> + source="1.5"
> includes="${path.cpickle}/CPickle.java"
> />
> </target>
>
> Code compiles but there is raised exception after EDS file selection
> confirmation. I have tried to select different language level (1.6.)
> and different JAVA compiler environment but nothing has lead to
> behavior change.
>
> Next exception is reported
>
> nMonitor.conf.xml'
> asserts enabled: true
> Logging level: 1
> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
> at
> ocera.rtcan.monitor.CANopenDevicePanel.initGui(CANopenDevicePanel.java:179)
> at
> ocera.rtcan.monitor.CANopenDevicePanel.<init>(CANopenDevicePanel.java:124)
> at ocera.rtcan.monitor.CanMonitor.openEDS(CanMonitor.java:346)
> at ocera.rtcan.monitor.CanMonitor.access$000(CanMonitor.java:56)
> at
> ocera.rtcan.monitor.CanMonitor$1.actionPerformed(CanMonitor.java:272)
> at org.jx.xmlgui.XMLAction.actionPerformed(XMLAction.java:20)
> at
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
> at
> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
> at
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
> at
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
> at
> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
> at
> java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
> at java.awt.Component.processMouseEvent(Component.java:6505)
> at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
> at java.awt.Component.processEvent(Component.java:6270)
> at java.awt.Container.processEvent(Container.java:2229)
> at java.awt.Component.dispatchEventImpl(Component.java:4861)
> at java.awt.Container.dispatchEventImpl(Container.java:2287)
> at java.awt.Component.dispatchEvent(Component.java:4687)
> at
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
> at
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
> at java.awt.Container.dispatchEventImpl(Container.java:2273)
> at java.awt.Window.dispatchEventImpl(Window.java:2713)
> at java.awt.Component.dispatchEvent(Component.java:4687)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
> at java.awt.EventQueue.access$000(EventQueue.java:101)
> at java.awt.EventQueue$3.run(EventQueue.java:666)
> at java.awt.EventQueue$3.run(EventQueue.java:664)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
> at java.awt.EventQueue$4.run(EventQueue.java:680)
> at java.awt.EventQueue$4.run(EventQueue.java:678)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
> at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
> at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
> at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
>
> The run of GIT bisect suggests that problem appears in the commit
>
> 516653e7464aadd64b6c049159e5279a26925617 is the first bad commit
> commit 516653e7464aadd64b6c049159e5279a26925617
> Author: Kubasta Petr <kub...@fe...>
> Date: Mon Apr 16 22:59:44 2012 +0200
>
> add : jComboBox for choosing of representation
>
> I am not sure if the problem is caused by ANT build or specific
> JAVA compiler version or JAVA runtime environment. But it
> makes problem to both - old stable Debian and most current
> testing so I expect that it can be source of problems to
> other users as well. So I have reverted my pull to master
> at SF.net repository.
>
> I would appreciate much if the problem can be analyzed
> and solved at least for recent GNU/Linux distributions.
> I do not see problem with 1.5 or even 1.6 JAVA
> language level requirement (but not higher for now).
> But I prefer as wide as possible range of systems capable
> to run the CANmonitor application.
>
> Best wishes,
>
> Pavel Pisa
>
> On Saturday 05 May 2012 14:33:24 Fanda Vacek wrote:
>> Ahoj,
>>
>> bohuzel se mi nepodarilo, odpovedet pomoci SF, mozna je to tim, ze nejsem
>> prihlasen k odberu tohoto mailing listu. Kazdopadne jsem rad, ze jste
>> tento projek posunul zase o kousek kupredu a s navrhovanymi zmenami
>> souhlasim.
>>
>> zdravi
>>
>> F. Vacek
>>
>> Hello, I have pushed some features in canmonitor in to branch "kubaspet1".
>> Description of features:
>>
>> It is working now:
>> - View and parsing of RAW HEX strings
>> - View and parsing of RAW BIN strings
>> - View and parsing by Type, for types: Integer, Unsigned, Real
>>
>>
>> Main changes:
>> a) View and model was separated. The class ModelViewTransformer was added.
>> b) Some files were added:
>>
>> RepresentationEnum - the enumerator for choose of view for jcombobox
>> InvalidTypeOfViewException - this class is representing exception for alert
>>
>> Can I request for merging with master branch?
|
|
From: Pavel P. <pi...@cm...> - 2012-05-10 21:17:33
|
On Thursday 10 May 2012 16:12:22 Ivan Fridrich wrote:
> I fixed EDS file saving bug in QCANalyser.
>
> I'am going to integrate EDS check utility into QCANalyser.
Thanks for your work. I have tested the most recent
QCANalyser version and it works much better.
I have run next tests sequence
I have load "nascan.eds" file.
Then I have saved it under "nascan1.eds" - as exected, order
of many subfields is alterred according to order of storage
in the tree.
I have read it again and stored under name "nascan2.eds".
We should not observe changes when do read and writes
by same tool. This was observed behavior except
lost of already reduced initial comments lines
--- nascan1.eds 2012-05-10 22:38:42.297078000 +0200
+++ nascan2.eds 2012-05-10 22:39:42.942077999 +0200
@@ -1,7 +1,3 @@
-[Commments]
-Line1=|---------------------------------------------------
-Lines=8
-
The original file is incorrect probably, because it contains
multiple
Line1=............
lines. But even last one has been lost.
Even that lines order in each section can be alterred,
we can observe, if some lines are lost or changed
during EDS parse and save by QCANalyser
sort nascan1.eds >nascan4.eds
sort nascan.eds | grep -v '^;' >nascan3.eds
diff -u -B -b nascan3.eds nascan4.eds | less
There are some differences which should be resolved
-[100A]
-[100B]
-[100C]
-[100D]
-[100E]
-[100F]
+[100a]
+[100b]
+[100c]
+[100d]
+[100e]
+[100f]
...
-[2900sub6A]
-[2900sub6B]
-[2900sub6C]
-[2900sub6D]
-[2900sub6E]
-[2900sub6F]
+[2900sub6a]
+[2900sub6b]
+[2900sub6c]
+[2900sub6d]
+[2900sub6e]
+[2900sub6f]
Original file uses uppercase letters in hexadecimal representation.
It should be checked against specification what is the correct or suggested
representation. This problem is not so critical.
But switching of the whole stream to hexadecimal base has unfortunate
consequences
[OptionalObjects]
...
-10=0x100C
+a=100c
-11=0x100D
+b=100d
...
[ManufacturerObjects]
...
-10=0x2900
+a=2900
-11=0x3000
+b=3000
The default base for values should be decimal or 0x has to be preceded. Key names (if numeric)
should be expressed as decimals too.
Next blank character removal is OK
-ParameterName= 27. 1byte input
+ParameterName=27. 1byte input
But next changes are bugs
[OptionalObjects]
-SupportedObjects=42
+SupportedObjects=2a
I think, that only indexes and subindexes should be expressed
in hexadecimal and without 0x prefix.
The rest of the data should be saved in decimal only.
Or 0x prefix could be used but only for values which has been
in hexadecimal in the input file.
But generally the EDS editor implementation is significant
step forward.
Best wishes,
Pavel
|
|
From: Ivan F. <iva...@gm...> - 2012-05-10 14:12:32
|
I fixed EDS file saving bug in QCANalyser. I'am going to integrate EDS check utility into QCANalyser. Nice day -- Přeji Vám příjemný den Bc. Ivan Fridrich fri...@fe... <iva...@fe...> iva...@gm... <iva...@fe...> mob. 607403651 |
|
From: Pavel P. <pi...@cm...> - 2012-05-07 22:27:16
|
Hello all,
the first, thank much to Petr Kubasta for his contribution
and to Fanda Vacek for review. I have pulled kubaspet1
branch to the master.
I have observed problems to compile updated
version. This has been resolved but there is yet another
problem where I have not succed and reverted "master"
back to state before changes.
The environment used for testing
javac 1.6.0_26 compiler
java version "1.6.0_24"
and
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
on debian "lenny" and Debian "unstable".
Then I tried java-7-openjdk on Debian "unstable"
javac 1.7.0_03
java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-2)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
The first problem is that updates have made code noncompatible
with Java 1.4 language version selected by OrtCAN ANT build.
I have updated source language version to 1.5
diff --git a/canmonitor/build.xml b/canmonitor/build.xml
index 786f5c7..f5ece2c 100644
--- a/canmonitor/build.xml
+++ b/canmonitor/build.xml
@@ -61,7 +61,7 @@
</copy>
<javac srcdir="${src}" destdir="${class}"
classpath="${jar.jdom}:${jar.ui}"
- source="1.4"
+ source="1.5"
debug="true"
optimize="false"
includes="${path.monitor}/CanMonitor.java"
@@ -115,7 +115,7 @@
<javac srcdir="${src}" destdir="${class}"
debug="true"
optimize="false"
- source="1.4"
+ source="1.5"
includes="${path.cpickle}/CPickle.java"
/>
</target>
Code compiles but there is raised exception after EDS file selection
confirmation. I have tried to select different language level (1.6.)
and different JAVA compiler environment but nothing has lead to
behavior change.
Next exception is reported
nMonitor.conf.xml'
asserts enabled: true
Logging level: 1
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ocera.rtcan.monitor.CANopenDevicePanel.initGui(CANopenDevicePanel.java:179)
at ocera.rtcan.monitor.CANopenDevicePanel.<init>(CANopenDevicePanel.java:124)
at ocera.rtcan.monitor.CanMonitor.openEDS(CanMonitor.java:346)
at ocera.rtcan.monitor.CanMonitor.access$000(CanMonitor.java:56)
at ocera.rtcan.monitor.CanMonitor$1.actionPerformed(CanMonitor.java:272)
at org.jx.xmlgui.XMLAction.actionPerformed(XMLAction.java:20)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
The run of GIT bisect suggests that problem appears in the commit
516653e7464aadd64b6c049159e5279a26925617 is the first bad commit
commit 516653e7464aadd64b6c049159e5279a26925617
Author: Kubasta Petr <kub...@fe...>
Date: Mon Apr 16 22:59:44 2012 +0200
add : jComboBox for choosing of representation
I am not sure if the problem is caused by ANT build or specific
JAVA compiler version or JAVA runtime environment. But it
makes problem to both - old stable Debian and most current
testing so I expect that it can be source of problems to
other users as well. So I have reverted my pull to master
at SF.net repository.
I would appreciate much if the problem can be analyzed
and solved at least for recent GNU/Linux distributions.
I do not see problem with 1.5 or even 1.6 JAVA
language level requirement (but not higher for now).
But I prefer as wide as possible range of systems capable
to run the CANmonitor application.
Best wishes,
Pavel Pisa
On Saturday 05 May 2012 14:33:24 Fanda Vacek wrote:
> Ahoj,
>
> bohuzel se mi nepodarilo, odpovedet pomoci SF, mozna je to tim, ze nejsem
> prihlasen k odberu tohoto mailing listu. Kazdopadne jsem rad, ze jste
> tento projek posunul zase o kousek kupredu a s navrhovanymi zmenami
> souhlasim.
>
> zdravi
>
> F. Vacek
>
> Hello, I have pushed some features in canmonitor in to branch "kubaspet1".
> Description of features:
>
> It is working now:
> - View and parsing of RAW HEX strings
> - View and parsing of RAW BIN strings
> - View and parsing by Type, for types: Integer, Unsigned, Real
>
>
> Main changes:
> a) View and model was separated. The class ModelViewTransformer was added.
> b) Some files were added:
>
> RepresentationEnum - the enumerator for choose of view for jcombobox
> InvalidTypeOfViewException - this class is representing exception for alert
>
> Can I request for merging with master branch?
|
|
From: Michal S. <so...@os...> - 2012-04-27 08:22:51
|
Hi Ivan, Ivan Fridrich <iva...@gm...> writes: > Good day > > I did some work on QCANanalyser. Nice. > I implemented CANopen graphical interface. It includes EDS parser and > editor and interconnection with drivers. I has object dictionary values > interpretation and state control interface. > I also repaired graph interface for raw CAN messages. Checkout these > changes. It is commited in the repository. I tried to compile it and it fails with QWT version 6. Version 5 works fine. Could you mention the needed prerequisites in some kind of README file? Thanks, -Michal |
|
From: Ivan F. <iva...@gm...> - 2012-04-26 20:18:56
|
Good day I did some work on QCANanalyser. I implemented CANopen graphical interface. It includes EDS parser and editor and interconnection with drivers. I has object dictionary values interpretation and state control interface. I also repaired graph interface for raw CAN messages. Checkout these changes. It is commited in the repository. Sincerly Bc. Ivan Fridrich -- Přeji Vám příjemný den Bc. Ivan Fridrich fri...@fe... <iva...@fe...> iva...@gm... <iva...@fe...> mob. 607403651 |
|
From: <kub...@fe...> - 2012-04-21 11:30:37
|
Hello, I have pushed some features in canmonitor in to branch "kubaspet1". Description of features: It is working now: - View and parsing of RAW HEX strings - View and parsing of RAW BIN strings - View and parsing by Type, for types: Integer, Unsigned, Real Main changes: a) View and model was separated. The class ModelViewTransformer was added. b) Some files were added: RepresentationEnum - the enumerator for choose of view for jcombobox InvalidTypeOfViewException - this class is representing exception for alert Can I request for merging with master branch? |
|
From: Gaël E. <gae...@ir...> - 2011-05-25 07:51:49
|
Hello Pavel, thank you for your quick answer. I actually have no idea where to find out if the knowledge of mapping CAN <-> USB is available. The device web page is http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul1. One can find the driver for linux kernels in http://www.phytec.com/zip/USB-CANmodul-2.2.3-i386.tar.gz (available without registration from http://www.phytec.com/products/can/pc-can-interfaces/sysusb1.html). Can you give me a hint about that? Thanks again, Gaël On 28/04/2011 19:04, Pavel Pisa wrote: > > On Thursday 28 April 2011 11:27:07 Gaël Ecorchard wrote: >> are usb-based CAN-boards also supported? >> >> I have a USB-CANModul1 from SysTec Electronic (sysWORXX >> module). The chip is a SJA1000. The usb id is 0878:1101. > > Hello Gaël, > > at this moment it is not such easy to add USB hardware as > with SocketCAN and for regular non hard real-time use it has > bigger value to include support for such converter into SocketCAN. > > As for LinCAN and USB there is included support for our > own USB<->CAN converter in "can-usb1" branch. There are even > included LinCAN infrastructure based firmware sources > for LPC2184 board which provides CAN<->USB bridge. > If the format of CAN messages mapping to USB is known > then adding of support for LinCAN or SocketCAN is not > so hard task. But I cannot start to work on these > now because I have much higher priority tasks to finish > first. > > Best wishes > > Pavel -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Gaël Ecorchard CNRS Researcher IRCCyN Office 416, 1 rue de la Noë BP 92101 44321 Nantes Cedex 3 - FRANCE Tel: +33 (0)2 40 37 69 58 Fax: +33 (0)2 40 37 69 30 Email: gae...@ir... Web: http://www.irccyn.ec-nantes.fr/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
From: Pavel P. <pi...@cm...> - 2011-04-28 17:05:06
|
On Thursday 28 April 2011 11:27:07 Gaël Ecorchard wrote:
> are usb-based CAN-boards also supported?
>
> I have a USB-CANModul1 from SysTec Electronic (sysWORXX
> module). The chip is a SJA1000. The usb id is 0878:1101.
Hello Gaël,
at this moment it is not such easy to add USB hardware as
with SocketCAN and for regular non hard real-time use it has
bigger value to include support for such converter into SocketCAN.
As for LinCAN and USB there is included support for our
own USB<->CAN converter in "can-usb1" branch. There are even
included LinCAN infrastructure based firmware sources
for LPC2184 board which provides CAN<->USB bridge.
If the format of CAN messages mapping to USB is known
then adding of support for LinCAN or SocketCAN is not
so hard task. But I cannot start to work on these
now because I have much higher priority tasks to finish
first.
Best wishes
Pavel
|
|
From: Gaël E. <gae...@ir...> - 2011-04-28 09:40:46
|
Hi, are usb-based CAN-boards also supported? I have a USB-CANModul1 from SysTec Electronic (sysWORXX module). The chip is a SJA1000. The usb id is 0878:1101. Thanks for your work and your help, cheers, Gaël -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Gaël Ecorchard CNRS Researcher IRCCyN Office 416, 1 rue de la Noë BP 92101 44321 Nantes Cedex 3 - FRANCE Tel: +33 (0)2 40 37 69 58 Fax: +33 (0)2 40 37 69 30 Email: gae...@ir... Web: http://www.irccyn.ec-nantes.fr/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
From: Pavel P. <pi...@cm...> - 2011-04-05 15:17:50
|
On Tuesday 05 April 2011 15:55:24 Jiri Vanek wrote: > Dear Mr. Pisa > > Is it possible to test communication via SocketCAN with some virtual > network CAN device analogous to virtual character device by LinCAN? I > didn't find this in project documentation. Dear Jiri Vanek, the next command sequence should work for you modprobe vcan ip link add dev vcan0 type vcan ip link set vcan0 up cat /proc/net/dev More documentation can be found at http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/networking/can.txt CANblaster and other tools compiled with with CONFIG_OC_CANVCA_IFC=socketcan or CONFIG_OC_CANVCA_IFC=multi CONFIG_OC_CANVCA_IFC_socketcan=y can be directed to use SocketCAN virtual CAN device by parameter -d socketcan:vcan0, i.e. canblaster -d socketcan:vcan0 These info should be enough to test but send question if you encounter some problems. Best wishes, Pavel Pisa > Thank you for reply, > > Jiri Vanek > > > --------------------------------------------------------------------------- >--- Xperia(TM) PLAY > It's a major breakthrough. An authentic gaming > smartphone on the nation's most reliable network. > And it wants your games. > http://p.sf.net/sfu/verizon-sfdev > _______________________________________________ > Ortcan-devel mailing list > Ort...@li... > https://lists.sourceforge.net/lists/listinfo/ortcan-devel -- Yours sincerely Pavel Pisa e-mail: pi...@cm... www: http://cmp.felk.cvut.cz/~pisa university: http://dce.fel.cvut.cz/ company: http://www.pikron.com/ |
|
From: Jiri V. <van...@fe...> - 2011-04-05 13:55:36
|
Dear Mr. Pisa Is it possible to test communication via SocketCAN with some virtual network CAN device analogous to virtual character device by LinCAN? I didn't find this in project documentation. Thank you for reply, Jiri Vanek |
|
From: Pavel P. <pi...@cm...> - 2011-03-30 21:48:04
|
Dear Ivan Fridrich, I am replying over list, because reply could help your colleagues as well. To test QCANanalyser with LinCAN, you need to compile driver and utilities. http://ortcan.sourceforge.net/lincan/ Then the driver should be installed into directory /lib/modules/2.6.X.Y-Z/extra directory and run depmod -a This is state already reached on your computer. I would return to possible driver configuration later. Driver for virtual can bus setup is loaded by modprobe lincan hw=virtual io=0 the tools and program found in directory _compiled/bin-utils and _compiled/bin can be used, i.e.: ./sendburst ./sendburst --device /dev/can0 --id 0x180 --wait 100 The permission for /dev/canX can be controlled by UDEV rules. http://ortcan.git.sourceforge.net/git/gitweb.cgi?p=ortcan/lincan;a=blob;f=lincan/README The configuration to driver build with all physical/unused devices disabled follows. The virtual driver is enabled by CONFIG_OC_LINCAN_CARD_virtual=y all other disabled. Configuration is read from build top directory from config.omk file. Best wishes, Pavel Pisa config.omk file for virtual driver only build ---------------------------------------------- CONFIG_OC_LINCAN_CARD_pip=n CONFIG_OC_LINCAN_CARD_pccan=n CONFIG_OC_LINCAN_CARD_smartcan=n CONFIG_OC_LINCAN_CARD_nsi=n CONFIG_OC_LINCAN_CARD_cc_can104=n CONFIG_OC_LINCAN_CARD_ems_cpcpci=n CONFIG_OC_LINCAN_CARD_pc_i03=n CONFIG_OC_LINCAN_CARD_pcm3680=n CONFIG_OC_LINCAN_CARD_aim104=n CONFIG_OC_LINCAN_CARD_m437=n CONFIG_OC_LINCAN_CARD_pcccan=n CONFIG_OC_LINCAN_CARD_ssv=n CONFIG_OC_LINCAN_CARD_bfadcan=n CONFIG_OC_LINCAN_CARD_gensja1000io=n CONFIG_OC_LINCAN_CARD_gensja1000mm=n CONFIG_OC_LINCAN_CARD_eb8245=n CONFIG_OC_LINCAN_CARD_kv_pcican=n CONFIG_OC_LINCAN_CARD_msmcan=n CONFIG_OC_LINCAN_CARD_oscar=n CONFIG_OC_LINCAN_CARD_adlink7841=n CONFIG_OC_LINCAN_CARD_pcan_pci=n CONFIG_OC_LINCAN_CARD_esdpci200=n CONFIG_OC_LINCAN_CARD_unican=n CONFIG_OC_LINCAN_CARD_virtual=y CONFIG_OC_LINCAN_CARD_template=n CONFIG_OC_LINCAN_CARD_esdpci266=n CONFIG_OC_LINCAN_CARD_hms30c7202_can=n CONFIG_OC_LINCAN_CARD_ns_dev_can=n CONFIG_OC_LINCAN_CARD_ipci165=n CONFIG_OC_LINCAN_CARD_pimx1=n CONFIG_OC_LINCAN_CARD_tscan1=n CONFIG_OC_LINCAN_CARD_ts7kv=n CONFIG_OC_LINCAN_CARD_nsi_canpci=n CONFIG_OC_LINCAN_CARD_sh7760=n CONFIG_OC_LINCAN_CARD_mpc5200=n |
|
From: Pavel P. <pi...@cm...> - 2011-03-25 10:54:41
|
Dear Ondrej Semmler,
I agree with change after my quick look through.
I have not tested it yet but if it works for you
and is tested in situations where config file is not present,
is present and contains non-existent path and for all cases
behaves reasonably, then there is no need to wait with commit
(Commit Early, Commit Often).
There are more locations where hardcoded path is used.
You can try to go through output of
find . -name '*.cpp' -exec grep 'home/gyre' '{}' ';'
There are more file types
- MsgSeq File *.ths
- MsgLog File *.tlog
for history and prepared sequences to send
- Filter File *.tmsk
to filter incoming messages
All these are candidates for further work/commit.
There is one decision to consider
- keep one directory for working area for all file types
- keep last used file name for each type/usage
- have some more sophisticated project workspace area defined
I have no personal preferences at this moment and would
accept any change which fixes actual hardcoded paths solution.
Best wishes,
Pavel Pisa
On Thursday 24 March 2011 18:18:43 sem...@fe... wrote:
> I made first version of changing default path for opening and saving
> files in qCANanalyzer.
>
> At first time open/save path is seted to current working directory.
> Next time, open/save path is seted to last open/save direcotry.
>
> I tested switching of open path only, because I dont know how made
> software able to save some file.
> I am sending GIT patch of my changes in attachment. Please test it, or
> help me how I can achieve to save some file in qCANanalyzer.
>
> Ondrej Semmler
|
|
From: <sem...@fe...> - 2011-03-24 17:18:53
|
I made first version of changing default path for opening and saving files in qCANanalyzer. At first time open/save path is seted to current working directory. Next time, open/save path is seted to last open/save direcotry. I tested switching of open path only, because I dont know how made software able to save some file. I am sending GIT patch of my changes in attachment. Please test it, or help me how I can achieve to save some file in qCANanalyzer. Ondrej Semmler Cituji sem...@fe...: > Mr. Pavel Pisa wrote on my email that there is request to change > default path for opening and saving files in qCANanalyzer. > > I tips this job. > > If somebody would like to make this change instead of me, please > respond on this email until Tuesday evening. > > Best regards, > Ondrej Semmler > > > ------------------------------------------------------------------------------ > Enable your software for Intel(R) Active Management Technology to meet the > growing manageability and security demands of your customers. Businesses > are taking advantage of Intel(R) vPro (TM) technology - will your software > be a part of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > Ortcan-devel mailing list > Ort...@li... > https://lists.sourceforge.net/lists/listinfo/ortcan-devel > |
|
From: <sem...@fe...> - 2011-03-21 20:32:21
|
Mr. Pavel Pisa wrote on my email that there is request to change default path for opening and saving files in qCANanalyzer. I tips this job. If somebody would like to make this change instead of me, please respond on this email until Tuesday evening. Best regards, Ondrej Semmler |
|
From: Pavel P. <pi...@cm...> - 2011-03-19 12:11:08
|
New OrtCAN project mailing-list for development related discussions. OrtCAN project is a collection of CAN related tools initially developed at Czech Technical University in Prague. The development of these components started in frame of IST-2001 35102 OCERA European project. The components has been used all over the world in different academic and production environments and they are maintained mainly by members of Real-Time Systems group at DCE department of FEE faculty of CTU university. The archives of previous development and use related discussion can be found in parent project mailing lists archives and forums at OCERA SF.net project pages http://sourceforge.net/projects/ocera/ Best wishes, Pavel Pisa e-mail: pi...@cm... www: http://cmp.felk.cvut.cz/~pisa university: http://dce.fel.cvut.cz/ company: http://www.pikron.com/ |