Re: [Emc-developers] Remove PDF Docs? (Was: DEB for linuxcnc HTML documentation)
5... as an intermediate distribute pdf file for the problematic language, Chinese but do not build problematic language as a default? > On Sun, 20 Sep 2020 at 20:10, Dr. Nikolaus Klepp wrote: > > > > I've made a deb with the HTML documentation of linuxcnc 2.8.0 > > I know that you were not suggesting that we remove the PDF docs, but I > would like to expand the discussion in that direction. > > The current tool chain can not build docs in non-latin alphabets. For > 2.8 we had a fairly big submission of Chinese docs. These render OK in > HTML: > http://linuxcnc.org/docs/2.8/html/getting-started/updating-linuxcnc-cn.html > but attempting to build a PDF leads to a build failure. > > A partial solution is to replace latex with xetex in the docs > toolchain. However xetex is not available in Stretch. > > A neater solution might be to use asciidoctor-pdf which is a one-step > process from asciidoc to pdf. It seems to work well (and with Chinese) > but relies on Ruby >v2.3 which is only the default version on the > newer OS versions. > > This is partly a buildbot issue. Do the docs that are distributed with > the LinuxCNC version for a particular necessarily have to have been > built with that OS? > > Options: > 1) Keep things as they are, don't attempt to distribute a Chinese docs > package. > 2) Abandon PDF, distribute docs as HTML in the docs package. > 3) Use xetex to make PDFs, abandon PDF docs build on older OS versions. > 4) Use asciidoctor-pdf to make PDFs, abandon building PDF docs on > older OS version > 5) ... > > > -- > atp > "A motorcycle is a bicycle with a pandemonium attachment and is > designed for the especial use of mechanical geniuses, daredevils and > lunatics." > — George Fitch, Atlanta Constitution Newspaper, 1912 > > > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Web site download docs
On Sat, 12 Sep 2020 12:49:29 +0100 andy pugh wrote: > On Sat, 12 Sep 2020 at 12:18, John wrote: > > > > Can you be more specific, I'm not seeing what your referring to. > > He's an Australian and reading it upside down. :-) Once made an Australian variant of a tilt sensor then I accindetaly put it in the wrong direction. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Chinese Docs
Agree. > That sounds like the best plan. > > JT > > On 8/28/2020 2:20 PM, andy pugh wrote: > > I can get the build system to create a Chinese docs pdf by changing > > the backend to xetex. > > But texlive-xetex isn't available for Wheeezy (and maybe not for Precise) > > > > But, even then, the document is gibberish, with every Chinese > > character replaced by an empty box. > > > > I am considering exporting the HTML documents to PDF and inserting > > that as a static document, as a stopgap. Opinions? ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Presentation and Spanish translation work.
> On Tue, 18 Aug 2020 at 18:33, andy pugh wrote: > > > I have been thinking about this, and have the beginnings of an idea: > > https://paste.ubuntu.com/p/622bPmPVBQ/ > > And I have now made some progress with the idea. > https://github.com/LinuxCNC/linuxcnc/tree/andypugh/multilingual_comp > > It certainly isn't all there yet, and I suspect that the parsing of > the strings in to languages should be done in some cunning way in the > yapps parser. > > But: halcompile --show-doc=es src/hal/components/abs.comp will display > a Spanish manpage, and --show-doc=fr will show a French one. > > The current version tries to use a "languages" entry in the .comp, but > that doesn't look like it will work because of when that gets parsed. > A better plan is to see what other languages might exist in the file > when doing the default language. I know how to do that, but it's late > here. > > It might be worth re-thinking the format too, possibly this would > parse more robustly. > > pin out float out """Analog output value, always positive > <_fr> Valeur de sortie analogique, toujours positive > <_es> Valor de salida analógica, siempre positivo"""; It is similar to html/xml so I would guess the syntax work but ideally escape characters should be added or characters allowed restricted, on this page https://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-in-html is what escape characters is needed in xml/html, the two squares close to the top with grey background. Will not make complain if you neither add escape or restrict characters allowed, it is great work anyway. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Presentation and Spanish translation work.
> On Tue, 18 Aug 2020 at 18:33, andy pugh wrote: > > > I have been thinking about this, and have the beginnings of an idea: > > https://paste.ubuntu.com/p/622bPmPVBQ/ > > And I have now made some progress with the idea. > https://github.com/LinuxCNC/linuxcnc/tree/andypugh/multilingual_comp > > It certainly isn't all there yet, and I suspect that the parsing of > the strings in to languages should be done in some cunning way in the > yapps parser. > > But: halcompile --show-doc=es src/hal/components/abs.comp will display > a Spanish manpage, and --show-doc=fr will show a French one. > > The current version tries to use a "languages" entry in the .comp, but > that doesn't look like it will work because of when that gets parsed. > A better plan is to see what other languages might exist in the file > when doing the default language. I know how to do that, but it's late > here. > > It might be worth re-thinking the format too, possibly this would > parse more robustly. > > pin out float out """Analog output value, always positive > <_fr> Valeur de sortie analogique, toujours positive > <_es> Valor de salida analógica, siempre positivo"""; In C " is used to enclose strings and \ is used as an escape character. > Or a more asciidoc-like > > pin out float out """Analog output value, always positive" > :lang: fr Valeur de sortie analogique, toujours positive > :lang: es Valor de salida analógica, siempre positivo"""; It might be worth looking at VHDL to get an idea or maybe at netlist formats. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] about linuxcnc-ethercat
> Is correct things install linuxcnc-dev, ec-debianizer and linuxcnc-ethercat > on /myUser/Home/ folder? ec-debianizer and linuxcnc-ethercat must be > installed inside /myUser/Home/linuxcnc-dev/ folder or outside into > /myUser/Home/ folder? > > Please someone can reply to me, because I have a lot of doubt about. Think I tried something similar but failed. Have simple hardcoded driver derived from Soem/soes but if I remember correctly there is some extra paragraf in license. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Docs help required
> On Mon, 13 Jul 2020 at 22:08, N wrote: > > > Maybe you need tell it is UTF8 unless there already is and ctan package. > > Without this is it might be you must enter the character code instead of > > actual character. > > Have you found where the .tex files exist during docs generation? I > think that would be a good start. No and do not find then using find command but output looks like tex processing so I guess it is. > Chinese HTML is now working: > http://linuxcnc.org/docs/2.8/html/index_cn.html Could see that, would need some training, or actually quite much. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Docs help required
On Sun, 12 Jul 2020 15:39:22 +0100 andy pugh wrote: > On Wed, 8 Jul 2020 at 08:23, N wrote:> > > From the last free rows I am pretty sure Chinese font package CJKutf8 is > > missing. Could also find a few rows at top "no support" but would guess > > they are also for other languages but are not sure. > > That helped, (apt-get install latex-cjk-all ) > But only gets me a little further: > Build Master_Getting_Started_cn.pdf > built-in module pdftex registered > no support found for ifthen > no support found for ifxetex > no support found for fontspec > no support found for xltxtra > no support found for ucs > no support found for fancybox > built-in module makeidx registered > no support found for emc2 > building additional files... > checking if compiling is necessary... > the output file doesn't exist > pdflatex -interaction=batchmode Master_Getting_Started_cn.tex > pdflatex failed > Master_Getting_Started_cn.aux:33: Missing \endcsname inserted. > Master_Getting_Started_cn.aux:33: leading text: > ...xcnc}{{1}{1}{关于LinuxCNC}{chapter.1}{}} > Master_Getting_Started_cn.aux:33: Package inputenc Error: Unicode > character 关 (U+5173) > Master_Getting_Started_cn.aux:33: leading text: > ...xcnc}{{1}{1}{关于LinuxCNC}{chapter.1}{}} > Master_Getting_Started_cn.aux:33: Package inputenc Error: Unicode > character 于 (U+4E8E) > ... > (And a couple more screens similar until it gives up) Maybe you need tell it is UTF8 unless there already is and ctan package. Without this is it might be you must enter the character code instead of actual character. Here is something about it https://tex.stackexchange.com/questions/17611/how-does-one-type-chinese-in-latex and ctan package https://www.ctan.org/pkg/ctex Regards Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] what am I missing?
On Mon, 13 Jul 2020 11:20:07 -0400 Gene Heskett wrote: > On Monday 13 July 2020 07:04:24 andy pugh wrote: > > > On Mon, 13 Jul 2020 at 11:49, Gene Heskett > wrote: > > > Cannot convert 'common/images/emc2-intro.png' to pdf > > > > https://www.kb.cert.org/vuls/id/332928/ > > > > Imagemagick no longer supports converting images to PDF. > > Humm, since my ghostscript is 9.27 and supposedly fixed, (mutter mutter) > why has Imagemagick's policy.xml not been updated to remove the > disabling stuff? > > So I just did it by nano, making xml comments out of all that. We'll see > if that fixes it. Which it did, no errors in runtests now. So I can > make-deb.sh now. And that worked, very well indeed. So todays build is > installed and while I've not reinstated TWO_PASS, I'll fuss if it > doesn't work. Pretty sure I have same problem convert complain about policy so this is probably how it is now. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] What to do about the docs?
> On 07/12/2020 03:59 PM, Rod Webster wrote: > > Personally, I think the power of Google Translate makes this redundant. > > If I open a non-english HTML page Google Translate just translates it for > > me. > > I asked a French speaking person to review a 20 page technical document of > > mine which I had translated in Google Drive from English to French using > > Google Translate. He said there was nothing for him to do as it was perfect! > > > > > WOW, I'm impressed, but still skeptical. Yes, computer > translation has come a LONG way recently, but I'd still > worry that something got horribly muddled. It may also > depend a lot on the clarity of the original document. Maybe > we should do a test and have Google translate our docs and > then have it reviewed by a person who is both a native > speaker of that language and fluent in CNC. They might > catch a few howlers but still save a lot of effort. Sounds like a good starting point. Then updated git may be of great use to merge in corrections, no need to read full document, only what have been changed since last though a little bit more complicated since ideally it should not produce a difference for the corrections, only there orignal document changed. Read story in news paper from another country a year or two ago there it made impression it might had come from a bad translation, it did not fully make sense but cultures are different and have no possibility to check, only found a little bit about story on other place of Internet. However a little bit hard to talk about since it was about a horrible crime. Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] What to do about the docs?
> On Mon, 13 Jul 2020 at 03:18, Reinhard wrote: > > > When I run pncconf last days I noted the bad translation status of german > > texts. Well - not the docs, as there is no german variant. > > I can read French and German well enough to tell if the docs are > correct, but not well enough to correct them. > Spanish, not really, > Chinese I can't even read the characters. > > (The language I was best at at school was Latin but I don't see much > of a need for that translation) It should be. There are two problems, build the docs and actual translation. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] What to do about the docs?
> On Mon, 13 Jul 2020 at 03:18, Reinhard wrote: > > > When I run pncconf last days I noted the bad translation status of german > > texts. Well - not the docs, as there is no german variant. > > I can read French and German well enough to tell if the docs are > correct, but not well enough to correct them. > Spanish, not really, > Chinese I can't even read the characters. > > (The language I was best at at school was Latin but I don't see much > of a need for that translation) There are two problems, probably build the doc and actual translation. No one could expect a single person to do all translation tasks. It must be possible find some person speeking it is a native language, at least for proof reading. List of languages by number of native speakers https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] What to do about the docs?
> I thought, every german would know english, as it is teached at elementary > school already. But reality is different. I met several germans interested in > cnc, that don't know english. So having docs in native language can help > spread the project. Could confirm this, one of my old neighbours from Germany don't know English language. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] What to do about the docs?
> If a translation is not being actively maintained there is really no point > including it in a distribution. > I only ever use the HTML docs on the web site. No Internet on machines in workshop, locally available then pressing F1 would be good unless there are any major disadvantages. > Personally, I think the power of Google Translate makes this redundant. > If I open a non-english HTML page Google Translate just translates it for > me. > I asked a French speaking person to review a 20 page technical document of > mine which I had translated in Google Drive from English to French using > Google Translate. He said there was nothing for him to do as it was perfect! > > It is possible to generate translations on the fly on a web site using > Google Translate. I don't know the specifics but it is done on ecommerce > sites. Would still go for translate once and proof read instead of on the fly, guess there at least sometimes is need for a correction. Have seen commercial of huge masses of cars sold out in a small village close to me, not a chance this huge amount of cars have been left unsold there, guess it is some of these automatic algorithms. > It would be better to implement that technology on the web site than trying > to manually translate documents. BUt as I said the user can do it anyway. Not sure but I do not want to depend on a reliable internet conection for documentation to work, want it stored locally at least then done, Internet connection does not work reliable for me all the time, old via telephone line worked rather reliable, new via fiber optics is faster but is often interrupted. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Docs help required
> I realised recently that the new Chinese dos were not being built. > > I have tried to fix this, and the HTML docs very nearly work (and > should be viewable on the buildbot scratch fairly soon) > https://github.com/LinuxCNC/linuxcnc/tree/andypugh/cn_docs > > But the PDF docs give problems that I don't fully understand (and > suspect might be character-set related) > > Build Master_Getting_Started_cn.pdf > built-in module pdftex registered > no support found for ifthen > no support found for ifxetex > no support found for fontspec > no support found for xltxtra > no support found for ucs > no support found for fancybox > built-in module makeidx registered > no support found for emc2 > building additional files... > checking if compiling is necessary... > the output file doesn't exist > pdflatex -interaction=batchmode Master_Getting_Started_cn.tex > pdflatex failed > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: Missing > number, treated as zero. > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: leading > text: ...icodeCharacter{FEFF}{\ifhmode\nobreak\fi} > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: Missing > number, treated as zero. > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: leading > text: ...icodeCharacter{FEFF}{\ifhmode\nobreak\fi} > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: Missing > number, treated as zero. > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: leading > text: ...icodeCharacter{FEFF}{\ifhmode\nobreak\fi} > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: Missing > number, treated as zero. > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: leading > text: ...icodeCharacter{FEFF}{\ifhmode\nobreak\fi} > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: Missing > number, treated as zero. > /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu:115: leading > text: ...icodeCharacter{FEFF}{\ifhmode\nobreak\fi} > Master_Getting_Started_cn.tex: File `CJKutf8.sty' not found. > Master_Getting_Started_cn.tex:37: Emergency stop. > Master_Getting_Started_cn.tex:37: leading text: \setuplocale{zh} >From the last free rows I am pretty sure Chinese font package CJKutf8 is >missing. Could also find a few rows at top "no support" but would guess they >are also for other languages but are not sure. Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Get the module address after loadrt
> On Thu, 25 Jun 2020 at 18:57, N wrote: > > > Tried to look into /proc/modules but did not find any modules loaded by > > Linuxcnc. > > They will only show up if linuxCNC is loaded. I did that but did not find any and it was running via Etherent against a card so not simulation without real time if that matter. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Get the module address after loadrt
> On Thu, 25 Jun 2020 at 17:02, N wrote: > > > > No but why do you want it? > > https://github.com/LinuxCNC/linuxcnc/blob/master/docs/help/rtfaults.txt Tried to look into /proc/modules but did not find any modules loaded by Linuxcnc. Neither did I find anything for loadrt command but there is a verbose option, maybe it print address? ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Get the module address after loadrt
No but why do you want it? > Does anyone know how to get the module address as part of loadrt? > > I have tried adding a "cat /proc/modules" to the "realtime" script, > but that only gives the addresses of the modules loaded as part of > setup. It doesn't give me the addresses of modules loaded after that > point. > > I have tried an execv in module_helper but I don't think that sends > the output anywhere useful. > > -- > atp > "A motorcycle is a bicycle with a pandemonium attachment and is > designed for the especial use of mechanical geniuses, daredevils and > lunatics." > — George Fitch, Atlanta Constitution Newspaper, 1912 ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] 2.8 Situation
> Moin! (north german hello) > > I would like to add some thoughts. > > 1. Releases are a must have. Think about someone having a 1 Dollar > Maschine being brocken by a Bug. I for myself am very cautious about testing > new versions, as my machine has 2x 2KW servos on y-axis, easy able to tear > the machine apart... If you do not want to take the risk you do not have to. If you have a 1 Dollar machine maybe it's worth spending some money on commercial control system, maybe they are more responsible. > 2. If there are spenders, bring them on. What about a patreon for lcnc? And > payment is done in 3 tiles, one in advance, one @integration and one > @release. We make a list of open things, define a price and publish them. I > for myself would be OK with the one organizing getting paid for his work. Might be a good idea but I do currently not know anything I am prepared to pay for to get done except maybe a little bit of money. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] 2.8 Situation
> I'm not seeing where RTAI is being removed from LinuxCNC only > suggestions so far say release preempt-rt now and hold RTAI ISO until > the bug can be sorted out. ... I would have chosen this path to. Release now and hold back until bug sorted out. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] spindle status --> spindle revs display
> ... > I'd be interested if seeing what someone else has done that solved the > spindle revs display problem a different way when there isn't an > encoder. Looking into my configuration file I see gladevcp pins. Used glade, the old version must be used to draw the panels and imported them in the .ini file, may provide example if needed. It visualize among others analog values so there should be no problem to show spindle revs if you have encoder or other position or revolution sensor which you are able to access from the .hal file. Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Third-Party GUIs
> On Sonntag, 3. Mai 2020, 09:13:22 CEST N wrote: > > That said it might still make sense to have some kind of > > communication in between GUI and hal ... > > Yes! > > I'd like to implement my buttons in hardware, together with some potis and > currently I don't know, how to get rid of it from my gui. > I know, that halui handles all this, but I can't access halpins from outside > of realtime. Reading manual. "motion -- accepts NML motion commands" so I guees you want some of these commands to come from your hardware buttons? For example jog buttons, adjustment of jog speed. Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Third-Party GUIs
> Please don't ditch Axis. It's nice, clean & simple and I found it quite > intuitive to use. It works well for my hobby class 3 axis mill. Guess it do exactly what it should but have no other experience with other GUI for CNC machine. > I like the fact that there is a GUI included with Linuxcnc, one less > thing to install. Without doubt. That said it might still make sense to have some kind of communication in between GUI and hal and there is in form of NML. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Third-Party GUIs.
On Sat, 2 May 2020 17:42:17 +1000 Rod Webster wrote: > Whilst I am a competent programmer with C and struggle to code in Python, I > think enforcing C++ on GUI users would be a disaster. An interpreted > language is much easier to work with and to add the overhead of > compilation to a quick GUI tweak will leave users out in the cold. ... I also struggle with python then I use, C is somewhat primitive in som cases but I could get things done. It's a little bit hard to enforce something on anyone here as they do not have to write anything if they do not want. > Only using C++ would basically stop the customisation of this wonderful > software in its tracks and force users to continue to use an archaic GUI > called Axis. You happen to know how GUI look in modern CNC machines? ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Third-Party GUIs
> > Another problem is, that neither pyqt, nor gscreen runs on my desktop box. > > I > > don't know enuf of python to solve that problems on my own and it does not > > help, if others state, that they don't have problems. > > So I started with java, where I know to solve my own problems. > > Startup may be too slow, but response time of the running app is fast enuf > > for > > anything. > > I imagine I would have the same issues with a Java UI if it didn't run. Used Eclipse based development environment today, it is written in Java, have to wait half a second or so then switching break point and in general many cases have slow response but editor have fast response and it is really good software. My experience with Java it is have often a little bit slow response, things do not happen immediately as then using an editor to write text which might be a little bit annoying. Maybe Java is at it's best then used on Internet inside .html or similar. Learned to program some Java at University but have since then preferred other programming languages like C/C++ and ADA which I also encountered at University or Matlab/Octave, static types is one reason but there are in some cases also others. If I remember correct Java however had a strong point polymorphism worked well, think there are some difference for C++ but are a little bit uncertain for the others. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Third-Party GUIs
I say it make sense and there are already NML communication which may also be used over TCP/IP network. I think however someone said it is currently not working condition for everything, might have been the hal scope. Tried and it might be the real time end worked but axis did not, think however old TK should. > I'm with the folks that like to have lcnc and gui's separated. > It's a much cleaner way for maintenance. > > Since new users and installation is a valid point, we should check > if it is possible to make a tasksel like LinuxCNC install routine. > > Ju > > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] test for motion-logger?
> Hi, > > I wanted to check other non motion commands and wrote a little gcode file, > which I put in the tests/motion-logger/basics directory. You want to log motion then g-code program is run? ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Looking to make hex offset list for NML status shared memoryr
Will try look into it within a few hours. You have not been able to locate any code within Linuxcnc doing this? On Sun, 16 Feb 2020 14:35:05 -0900 Johannes Fassotte wrote: > Can anyone give me some information on how to pull out the actual shared > memory location offset for each item as it is written to status by NML > and what is used as its reference point? Any help will be greatly > appreciated. I can deal with values but pointers and converting them are > a real problem for me. > > I have found the offsets required for quite a few status items using my > remote UI development tools but I would like to generate a complete > offset list of all NML status items on the NML side and pass those > offsets to the remote UI for decoding use. > > This is my status peek process from my remote UI. > From my remote Labview based UI I peek into status with my NML status > peek command and I receive back a 20 byte status request verification. > > Almost immediately I get back the actual raw copy of the shared memory > status data which is 9280 bytes long. > > Breaking these raw 9280 hex status bytes down: > The first 20 bytes is status prefix (not used for now). > Next 12 bytes is a sync pattern of ( ). > The next 9248 bytes is the actual raw status data. > > To decode the raw status data I use an offset value starting right after > the 12 byte sync pattern as a zero reference point. The 12 byte sync > pattern must be decoded properly as part of the logic before any further > decoding is allowed. > > Sample offsets: > As an example hex offset 1068 with a decoded length of 72 bytes contains > the actual position data for all axis. This is then broken down in 8 > bytes increments to get the position value for each axis. > > As another example a hex offset of 95 with a decoded length of 12 bytes > gives the current line number. > > Since I'm dealing with a raw copy of the status shared memory I hope to > be able to find a quick way of pulling out the offsets used my NML > itself to help decode all of the stored vales properly. I have decoded > quite a few values now just by looking into the raw received status data > but the process has been very time consuming. > > I can see some issues with the serial numbers contained in the status > raw data: > The peek command also updates the command serial contained in the shared > status memory and also updates what I believe to be the total command > count accumulator in the shared status memory. This makes it difficult > compare old shared memory values to new shared memory values since these > two are always changing and thus need to be filtered if doing an old to > new compare of actual status data changes and not triggered by the > constant serial number changes. > > > > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers -- N ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Buildbot on Buster
I do build on Buster, unfortunately I did not write down which packages I had to install. Are also able to use gladevcp if installing som more packages and manually install python-gtksourceview2_2.10.1-3_amd64.deb > On Sat, 1 Feb 2020 at 04:02, Sebastian Kuzminsky > wrote: > > > > I'm working on a buildbot upgrade, in order to support Debian Buster > > builds. > > Oooh! Thanks. > > -- > atp > "A motorcycle is a bicycle with a pandemonium attachment and is > designed for the especial use of mechanical geniuses, daredevils and > lunatics." > — George Fitch, Atlanta Constitution Newspaper, 1912 > > > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Linuxcnc gui on c++ gui ... segmentation
> @ N *for sure problem is related to gcc version and qt * because if > run other ubuntu 18.04 with gcc 5.x all work like my develop pc that > contains gcc 5.5. It could also be a coincidence, at least my myself quite often make wrong conclusion then similar errors happen so I use to double checkt. > Any how now I have other problem related previous post . > > if(counter>=50 && counter<51) > { > QTextStream(stdout) << "state_msg try zone" << endl; > EMC_TASK_SET_STATE *state_msg = (EMC_TASK_SET_STATE > *)malloc(sizeof (EMC_TASK_SET_STATE)); > QTextStream(stdout) << "spy 1" << endl; > // state_msg->clear(); /* these not work because try to > clear empty array? */ > QTextStream(stdout) << "spy 2" << endl; > state_msg->state = EMC_TASK_STATE_OFF; > QTextStream(stdout) << "spy 3" << endl; > state_msg->serial_number = ++emcCommandSerialNumber; > QTextStream(stdout) << "actual value of state_msg: " << > state_msg->state << endl; > QTextStream(stdout) << "these steps seems right .. now > try to write" << endl; > emcCommandBuffer->write(state_msg); > QTextStream(stdout) << "just write on emcCommandBuffer" > << endl; > free(state_msg); > > } > > counter++; Most often use C and more seldom C++ so I might make misstake without compiling it for myself first. Would suggest this code to get rid of malloc(...) function and initialize variable then declared and as a const if not supposed to change. if(counter>=50 && counter<51) { QTextStream(stdout) << "state_msg try zone" << endl; EMC_TASK_SET_STATE state_msg(); QTextStream(stdout) << "spy 1" << endl; state_msg->clear(); /* these not work because try to clear empty array? */ QTextStream(stdout) << "spy 2" << endl; state_msg->state = EMC_TASK_STATE_OFF; QTextStream(stdout) << "spy 3" << endl; state_msg->serial_number = ++emcCommandSerialNumber; QTextStream(stdout) << "actual value of state_msg: " << state_msg->state << endl; QTextStream(stdout) << "these steps seems right .. now try to write" << endl; emcCommandBuffer->write(state_msg); QTextStream(stdout) << "just write on emcCommandBuffer" << endl; } counter++; If I get it correct your code does not work because you allocate memory but does not create object, C++ have a constructor for this which I conclude from Linuxcnc code have no parameters. EMC_TASK_SET_STATE *state_msg = new EMC_TASK_SET_STATE(); ... free(state_msg) As you free memory at bottom I would suggest to use local variable as in first example above, then you will not forget to free memory, it also make possible stack like memory allocation. EMC_TASK_SET_STATE state_msg(); I use Eclipse then finding declarations is easier even though it does not work well for C++ or if Linuxcnc code is the problem. Codeblocks might be another good option if it works. Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Linuxcnc gui on c++ gui ... segmentation
I would use the latest version available in whatever distribution you happen to use but are not totally sure where sure where might be some issue with some version. I compile Linuxcnc for myself and never thought to much about which version of the compiler to use. I assume the warnings are about comppiled code then they should be there whatever version of compiler you use. To get rid of the warnings you have to figure out a better way to write program if possible, sometimes it's possible but not always. If you wrote the code warnings are about you of course have to check it to make sure there is no problem. > other problem I try to copy my project on ubuntu 18.04 pc with gcc 7.4 > I have a lot of warning the major issue seems stdio.hand cstdlib > is not well accept from qt + gcc7.4 . wath is the ideal version of gcc > for use with Linuxcnc file? > > Il giorno ven 27 dic 2019 alle ore 18:47 N > ha scritto: > > > EMC_TASK_SET_STATE state_msg; > > There is no malloc because memory is allocated automatically then function > > is entered and deallocated automatically then it exit. It is allocated > > stack like and most probably on the stack but are not sure this is always > > the case. > > > > Local variable I consider the best method to allocate memory then it could > > be used for several reasons, usually most important because it is a local > > variable. But it also have advantage memory could be allocated with > > increasing pointer, this is fast and deterministic. Think ADA have a method > > so that pointer to allocated memory is not remembered by misstake at > > compile time but not C/C++. If you do not know what the stack is, it is a > > pointer to a memory set aside this purpose, then a function is called > > adress before jump is stored on stack while stack pointer is updated > > increased/decreased, then function exit it is the opposite order. malloc > > have to find a free area while stack like memory just increase/decrease a > > pointer but it only work for local variables in functions. > > > > > > Variable is initialized by row below although I are not sure all fields > > are initialized. Compiler may warn if it is not initialized but as I > > remember it will not warn if some fields are unitialized. > > state_msg.state = EMC_TASK_STATE_ESTOP; > > > > > > malloc return a pointer to "void" which is more or less equivalent to > > pointer to unknown data type which must be the reason you get "no viable > > conversion from int to EMC_TASK_SET_STATE" warning. You have to use type > > conversion to get rid of warning (EMC_TASK_SET_STATE)malloc(...) and make > > sure correct size is allocated by using sizof(...) and you also have to > > remember deallocate/free memory then not used anymore but not before. > > > > > > > > > > > > > > > > > > Memory may be allocated with malloc but unless function > > > > emcCommandBuffer->write(...) store the pointer internally, copy data > > > > internally is below might be a much better idea. If state_msg variable > > is > > > > not used further down or at least is not supposed the block will also > > limit > > > > life time of variable. > > > > > > > > > > this row of code is extract from shcom.cc: > > > > > > int emcCommandSend(RCS_CMD_MSG & cmd) > > > { > > > // write command > > > if (emcCommandBuffer->write()) { > > > return -1; > > > } > > > emcCommandSerialNumber = cmd.serial_number; > > > return 0; > > > } > > > > > > int sendEstop() > > > { > > > EMC_TASK_SET_STATE state_msg; > > > > > > state_msg.state = EMC_TASK_STATE_ESTOP; > > > emcCommandSend(state_msg); > > > if (emcWaitType == EMC_WAIT_RECEIVED) { > > > return emcCommandWaitReceived(); > > > } else if (emcWaitType == EMC_WAIT_DONE) { > > > return emcCommandWaitDone(); > > > } > > > > > > return 0; > > > } > > > > > > but there is not malloc for state_msg and not see where is initialized > > > > > > > > In my row code is the same situation but if try to use malloc obtain > > > warning like "no viable conversion from int to EMC_TASK_SET_STATE" > > is > > > because I try to use malloc with bad variable type? > > > In my QtDro.h file I use these .hh file of Lcnc: > > > > > > #include
Re: [Emc-developers] Linuxcnc gui on c++ gui ... segmentation
EMC_TASK_SET_STATE state_msg; There is no malloc because memory is allocated automatically then function is entered and deallocated automatically then it exit. It is allocated stack like and most probably on the stack but are not sure this is always the case. Local variable I consider the best method to allocate memory then it could be used for several reasons, usually most important because it is a local variable. But it also have advantage memory could be allocated with increasing pointer, this is fast and deterministic. Think ADA have a method so that pointer to allocated memory is not remembered by misstake at compile time but not C/C++. If you do not know what the stack is, it is a pointer to a memory set aside this purpose, then a function is called adress before jump is stored on stack while stack pointer is updated increased/decreased, then function exit it is the opposite order. malloc have to find a free area while stack like memory just increase/decrease a pointer but it only work for local variables in functions. Variable is initialized by row below although I are not sure all fields are initialized. Compiler may warn if it is not initialized but as I remember it will not warn if some fields are unitialized. state_msg.state = EMC_TASK_STATE_ESTOP; malloc return a pointer to "void" which is more or less equivalent to pointer to unknown data type which must be the reason you get "no viable conversion from int to EMC_TASK_SET_STATE" warning. You have to use type conversion to get rid of warning (EMC_TASK_SET_STATE)malloc(...) and make sure correct size is allocated by using sizof(...) and you also have to remember deallocate/free memory then not used anymore but not before. > > > > Memory may be allocated with malloc but unless function > > emcCommandBuffer->write(...) store the pointer internally, copy data > > internally is below might be a much better idea. If state_msg variable is > > not used further down or at least is not supposed the block will also limit > > life time of variable. > > > > this row of code is extract from shcom.cc: > > int emcCommandSend(RCS_CMD_MSG & cmd) > { > // write command > if (emcCommandBuffer->write()) { > return -1; > } > emcCommandSerialNumber = cmd.serial_number; > return 0; > } > > int sendEstop() > { > EMC_TASK_SET_STATE state_msg; > > state_msg.state = EMC_TASK_STATE_ESTOP; > emcCommandSend(state_msg); > if (emcWaitType == EMC_WAIT_RECEIVED) { > return emcCommandWaitReceived(); > } else if (emcWaitType == EMC_WAIT_DONE) { > return emcCommandWaitDone(); > } > > return 0; > } > > but there is not malloc for state_msg and not see where is initialized > > In my row code is the same situation but if try to use malloc obtain > warning like "no viable conversion from int to EMC_TASK_SET_STATE" is > because I try to use malloc with bad variable type? > In my QtDro.h file I use these .hh file of Lcnc: > > #include "include/cmd_msg.hh" > #include "include/stat_msg.hh" > #include "include/emc_nml.hh" > #include > #include > #include > #include "emc.hh" // EMC NML > #include "include/emcglb.h" // EMC_NMLFILE, TRAJ_MAX_VELOCITY, > TOOL_TABLE_FILE > #include "include/emccfg.h" // DEFAULT_TRAJ_MAX_VELOCITY > #include "inifile.hh" // INIFILE > > Not understand how to initialize state_msg. > > thanks and good end of 2019 and new 2020 at all. > > bkt > > Il giorno gio 19 dic 2019 alle ore 17:54 N > ha scritto: > > > > just a guess. > > > > > > EMC_TASK_SET_STATE *state_msg; > > > > > > state_msg is a pointer, yet no memory allocated for it. > > > > > > state_msg->state = EMC_TASK_STATE_OFF; > > > > > > you try to write in a memory space that officially has no memory > > assigned yet. > > > > > > ju > > You are correct no memory assigned. Maybe no warning for using an > > unitialized variable, if turned a warning would be issued for using > > unitizialized variable. > > > > Memory may be allocated with malloc but unless function > > emcCommandBuffer->write(...) store the pointer internally, copy data > > internally is below might be a much better idea. If state_msg variable is > > not used further down or at least is not supposed the block will also limit > > life time of variable. > > > > { > > EMC_TASK_SET_STATE state_msg; > > > > state_msg.state
Re: [Emc-developers] Linuxcnc gui on c++ gui ... segmentation
> just a guess. > > EMC_TASK_SET_STATE *state_msg; > > state_msg is a pointer, yet no memory allocated for it. > > state_msg->state = EMC_TASK_STATE_OFF; > > you try to write in a memory space that officially has no memory assigned yet. > > ju You are correct no memory assigned. Maybe no warning for using an unitialized variable, if turned a warning would be issued for using unitizialized variable. Memory may be allocated with malloc but unless function emcCommandBuffer->write(...) store the pointer internally, copy data internally is below might be a much better idea. If state_msg variable is not used further down or at least is not supposed the block will also limit life time of variable. { EMC_TASK_SET_STATE state_msg; state_msg.state = EMC_TASK_STATE_OFF; state_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(_msg); } ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Intel graphics and RTAI
> >This new Asus Z370-A II mobo has builtin gfx, and dmesg does not identify > >it. its carrying a 9nth gen i5, 6 core 3.7GHz cpu. Whatever its gfx is, > >is quick. glxgears reports: > >23060 frames in 5.0 seconds = 4611.867 FPS. > >But latency-test blows a 4 u-s reading out when a beep from incoming mail > >occurs puttin it above 100 u-secs, and that is while running the stretch > >iso's 4.9.0-11-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.189-3+deb9u2 > >kernel. That would not do for software stepping IMNSHO. > > I have a Z370 and Z390 but ubuntu not debinan I have not problem > with acustic alarm ut latecy is about 40.000 ... no good for stepper > ... but enought for ethercat. You are right, good enough for Ethercat with only one message sent each period using maybe up to a maximum 10% of bandwidth it will not matter where the message is sent within communication period. A great thing is only message is needed for communication in both directions regardless how many nodes there are. Ten times faster Ethernet, communication in both directions, five devices and for small messages size of header will catch up. Triggering sending Ethernet message with higher accuracy would of course be good. Ideally it should of course be hardware timer. But for ordinary machines in Linuxcnc it should not matter. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] announcement OpenCN, a new fork of LinuxCNC
> dear Robert, > > thanks for your positive feedback ! > > I'll try to answer most of your questions : > > 1) licence > Good point ! > We have here a campus licence for the whole Matlab suite, as most > universities have. > I asked my Mathworks contact person whether the generated C code is > compatible with GNU GPL, and he affirmed. > But I'm not entirely sure, I'll keep you updated ... > In the worst case we'll have to buy the commercial version. > For sure the code is royalty free. > > I know that in automotive and space industry, they heavily use code > generation (better maintainability, shorter development time). Then software is expensive there is plenty of money to earn on software so I should no listen to much on this. It is quite common graphics in Simulink represent rather simple or not to hard calculations which is rather simple to write in ordinary programming language. Quite often i write in "C" code directly, use same code with simulation/testbench on ordinary computer as is used to control real system. C compiler is available for both ordinary computer and Micro controllers, Targetlink to it this way. Usually I spend quite a lot of time reading books, pdf files I found on internet and to get reality fit with theory. I lack access to databases with scientific articles but it have also happened I bought some to make sure I did not miss anything. Regards Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] announcement OpenCN, a new fork of LinuxCNC --> Precalculations
> dear Nicklas, > > of course, feedforwards are utilized (and well parametrized) in the *drives*, > otherwise excessive tracking errors appear. > > But this is done in the *drive*, *not* in OpenCN. > OpenCN calculates physically realizable setpoint values (according to > "optimal control theory"). Sounds really good. Physical realisable will be movement calculated with feedforward of maximum and minimum voltage with a perfect model, sounds simple but to calculate then it is time to slow down to exactly hit a point running at the limits is suprisingly hard to get correct for all cases. Then there must be some room for the control law. You have gone further and included unperfect model and dynamics from the feedback in some way or other? Regards Nicklas Karlsson ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] announcement OpenCN, a new fork of LinuxCNC --> Jerk control
According electric motor equations commonly available jerk is controlled by voltage and could be changed instantly which in practice is within one switching period while acceleration --> velocity --> position is integrated in some way from jerk. Velocity will for example add a back-emf changing which voltage is needed to get the jerk and limit how much jerk is available. Then is of course the question what is fast enough considered a jump which may add further smoothnes requirements. Not sure what G^2 blending is but have seen a few smoother curves in the 402 CANopen standard. Hysteresis will usually produce fast acceleration jumps though theoretical limit is available voltage. > dear Stevenson, > > LinuxCNC lacks jerk control and "G^2 blending". > Without jerk control, the tangential acceleration jumps, without G^2 > blending, the normal acceleration jumps. > Both lead to an excitation of machine vibrational modes ... leading to bad > surface quality. > > No problem for hobbyist applications, but big problem for high end commercial > applications. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] announcement OpenCN, a new fork of LinuxCNC --> Precalculations
On Fri, 22 Nov 2019 21:59:33 + Herzog Raoul wrote: > dear Andrew, > > thanks for your positive feedback. > > There were many reasons for us to develop OpenCN : > > 1) of course scientific curiosity ... I'm working for ~8 years in this field > > 2) but, more important, I had and have customers having problems with surface > quality as feedrate increases. > I'm living in the "watchmaking" western part of Switzerland :-) > We found out that the cause of the bad surface quality problem stems from the > vibrational behaviour of the machine. > And we started to develop special trajectory planning algorithms coded in > Matlab for *precalculating* the setpoint values. > It turned out, that the machining time with our algorithms was ~5 times lower > compared to a high end CNC, while keeping the same surface quality. > But then ... very difficult to get a commercial CNC manufacturer interested > in ... an industrialization seemed difficult. > We decided to make the important step from "offline precalculation" of > setpoint values to online calculation as any CNC does. As control theory is a common problem I work with I am rather interested in these precalculations? Some kind of feed forward? Regard Nicklas ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] announcement OpenCN, a new fork of LinuxCNC
> dear Linux developers, > > I'm pleased to announce a new fork of LinuxCNC, called "OpenCN* : Forking must be a disadvantage if some stuff must be left out but as you said it is a major rewrite so ... > > OpenCN is an open source numerical control (CNC) for high end machining > applications (high dynamics, high precision). > > OpenCN is originally based on LinuxCNC, but with strong enhancements : > > -) completely reworked trajectory planning (TP) including jerk control based > on embedded optimization Have done simple 1D trajectory planning and it is susprisingly hard to make the numbers fit. Read somewhere someone wrote a PhD thesis about trajectory planning, this have something to do with this? > -) Xenomai asymmetric multiprocessing (AMP) for hard real time, low latency > -) up to date Linux kernel > -) EtherCat with 10 kHz frame rate and distributed clock (DC), mode B Ethercat is really good news, there are plenty of not to expensive devices readily available. I have a simple Ethercat driver running but are in doubt about license issues, it is based on soem/soes. > -) new Qt based GUI superseding "axis" Do not like python but use if needed, this mean C++ is used instead of python? > ... > best regards, > > Raoul ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] RTAI-5.2 missing sincos()
sincos() function I recognize from the mathematics library in CMSIS for the Cortex micro controller. > On Fri, 30 Aug 2019 at 22:19, Neil E Whelchel > wrote: > > > Hello, > > It looks like rtapi is expecting to have the sincos() function available > > > I don't know much about this, but I think that this is similar to what Alec > Ari was trying to fix here: > http://dpaste.com/1MDX6RA > > Which version of RTAI-5.2 are you using? There is a version here that is > patched to work better with LinuxCNC: > https://github.com/NTULINUX/RTAI > > -- > atp > "A motorcycle is a bicycle with a pandemonium attachment and is designed > for the especial use of mechanical geniuses, daredevils and lunatics." > — George Fitch, Atlanta Constitution Newspaper, 1916 > > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers -- N ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] buster vs pi3b report
On Sat, 31 Aug 2019 17:06:16 -0400 Gene Heskett wrote: > On Saturday 31 August 2019 14:35:12 Nicklas SB Karlsson wrote: > > > Use buster, if I remember correctly I had to manually install an older > > version of a few packages. > > > Do you have a sources.list for stretch that might supply those 2. > Everything else worked. No, I built from source and think the configure script make complaint about the version number. ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers