<delmarre>does guile have any packages which allow you to send commands over a serial connection? <ft>...unless I misunderstood your requirements. <delmarre>need to actually send stuff over a serial port <ft>delmarre: yeah, that package let's you do that. You open a port to the device file in question, manipulate the serial specific stuff using guile-termios and then just write to the port again. <ft>delmarre: I wrote that thing because I wanted to use Guile to remote control a larger signal-processing system that had a small microcontroller that did system management. And that microcontroller had a serial link via usb into the host computer. <delmarre>and looks like I need to look into termios and stuff <delmarre>and actually have a clue what's happening haha <ft>delmarre: Termios is the system interface that controls the serial stuff. On POSIX systems anyway. <ft>I had this working in cygwin too, if windows is required. :) <delmarre>i should probably learn more about serial stuff in general haha <ft>Those serial links are usually 8N1 with some baudrate, like 115200bd. <ft>"8" is eight bits per frame, "N" is no parity, and "1" is one stop bit. <ft>bd is the symbol rate. In serial links like this, a symbol as two constellation points and thus carries one bit. So the baudrate is also the bitrate in this kind of scenario. <ft>And that's most of what you need to know about simple uart and rs232 serial links. <ft>uart and rs232 are basically the same; just the signal levels are different, and IIRC the logic in rs232 is inversed. <ft>But that's the physical layer. You shouldn't have to worry about that. <delmarre>so reading through your example you get it set into 8n1 mode or whatever <delmarre>and then after this you could just call displays with the port as the output port to print strings through it <ft>You can just write to the port as if it was a file. <ft>display works, or whatever. <ft>Then you'll need to implement the plotter's protocol, of course. <ft>stdout is often a serial link too, btw. When it's connected to a terminal emulator. Those have baudrates as well, because they emulate old serial hardware. <ft>So yeah, there's not a lot special about this. <delmarre>when your an art kid who knows v little about computers, there is haha <ft>Well, you're using something that's not too much of a mainstream language, so it can't be that bad. :) <ft>But more to the point, you just use termios to set up how the serial link should work, and if you're doing that correctly, the rest if pretty straight forward. <ft>"Doing it correctly" can be a struggle. I'll admit that. :) <ft>Especially if you don't know what setup the target uses. In that case: Oscilloscopes. :) <delmarre>well I asked because I thought it might be easier to do than what I was going to do <delmarre>which was get my scheme to output files for the plotter, and then actually send them using some python thing I have <delmarre>would be nice to not have to worry about other languages again haha <ft>Yeah, it's very common. <ft>Now the the baudrate. :) <delmarre>so should be able to just use cf-make-raw! <ft>delmarre: The first example in the manual is probably what you want. <ft>Although you may prefer the module that doesn't use exceptions. I guess that's a matter of taste. <delmarre>when you close the port at the end of these examples <delmarre>is that closing it from further modification <delmarre>i.e. i would still go on to use tty as the output port even after? <delmarre>or would I do everything up to that, then write a bunch of stuff to the port, and then close the port <ft>you'd do the output before you close the port. <ft>You can't write to a closed port. <ft>Neither can you read from one. <delmarre>you'd think that would be obvious to me wouldn't you <ft>Don't worry about it. ;) <delmarre>Very lucky you were here when I asked about that <delmarre>will actually be a boost for my life being able to do that <ft>I'm sure someone else would know about serial ports as well. Maybe not about my module, though. :) <ft>Don't think it has too many users. <delmarre>how many people are still trying to get pen plotters to work <daviid>guilers, playing with C snipset to boost some guile-cv critical f32vector procedures hover hude images, I wrote this https://paste.debian.net/995999 but to my surprise it returns wrong result for the min position: any C pro can help me? <sneek>daviid, you have 2 messages. <sneek>daviid, ArneBab says: do you mean you need to transform all three areas (IMAGE, SEEDS, shared) into coordinates relative to IMAGE? <sneek>daviid, ArneBab says: or rather: each of the edges relative to the corresponding edge in IMAGE? <daviid>ArneBab_: I was very tired :), the translation was as easy as minus left and top from the image particle ... solved, but thanks <daviid>too bad my battery is getting low, I'll have to leave soon <OrangeShark>daviid: r[0], r[2] = v[0]; are you trying to assign v[0] to both r[0] and r[2]? <OrangeShark>with that, you were just accessing r[0] and not doing anything with it, then assigning v[0] to r[2] <daviid>OrangeShark: perfect, thank again, have to leave because of battery, bbl <rekado_>I ported the rfc822 email header parser from Chicken to Guile. Is this something useful to have in Guile or should this be a separate package? <rekado_>(The implementation in Chicken is itself a port of the implementation in Gauche) ***rubdos_ is now known as rubdos
<OrangeShark>Are there any good examples of projects that are extendable using Guile or maybe like common designs for creating software that can be extended by Guile by users? <ArneBab>OrangeShark: I don’t know which ones are *good* examples. Lilypond shows dangers of strong coupling — but also huge success — I don’t know how GNU Cash does it. <OrangeShark>ArneBab: aren't Lilypond and GnuCash more like embedding Guile? <ArneBab>OrangeShark: they use Guile to extend the program — embedding is a part of that <OrangeShark>ArneBab: okay, I think I will look into these projects and probably emacs as well even though it not using Guile to see any common or useful designs (or bad designs to avoid??) <ArneBab>it was a proposed kickstarter, I’m not sure whether it got past the draft stage since only ~2k$ were raised (of 5 needed) <OrangeShark>ArneBab: thanks, I think I have a lot to look into now. <OrangeShark>wigust: thanks, I am of aware of those. I am more interested in applications <delmarre>am thinking soon about building myself a framework for producing drawings on my pen plotter <delmarre>and think i'm gonna be using guile (have been using chicken before) <delmarre>what is the actual difference between vectors and arrays? <delmarre>and considering most of my framework is gonna be about points on a plane and lists of points on a plane <delmarre>can I just use vectors for lists of vectors <delmarre>or would there be some advantage to making arrays of vectors? <delmarre>mhmm. reading through the reference and it says <delmarre>(make-array 'ho 2 3) gives⇒ #2((ho ho ho) (ho ho ho)) <delmarre>seems to me like you could make a (vector (vector ho ho ho) (vector ho ho ho)) <delmarre>and implement some way of building these with a given shape <OrangeShark>delmarre: I think array uses a single vector underneath <OrangeShark>delmarre: "In the current implementation, an array uses a vector of some kind for the actual storage of its elements" <OrangeShark>delmarre: in the example, it would be like (vector 'ho 'ho 'ho 'ho 'ho 'ho) <delmarre>and you also can't have an array of vectors <davexunit>OrangeShark: you're familiar with Haunt. that's extensible with guile. but I guess it's not exactly what you're looking for. <davexunit>Guile itself is extensible with Guile using the .guile file <delmarre>i suppose i will just be working with positions, sets of points on a line... <daviid>delmarre: I would look into other similar projects and see what data structures they selected, try to avoid a bad start design ... <delmarre>i know there's a guy doing something similar in lisp <daviid>plotting is as old as computer 'science' <daviid>the racket folks may have some, or chicken ... <delmarre>for sure. unfortunately the people who did it early were much smarter than me haha