#robotics | Logs for 2016-03-23

Back
[00:38:20] <rue_house> wow the 3dness of a dxf if sloppy
[00:52:51] <rue_house> yay! I can read a dxf files objects into a memory structure!
[00:53:19] <DagoRed> nice!
[00:54:15] <rue_house> now I can turn main() into readDXF(entityList_t * this, char * filename);
[00:54:33] <rue_house> and push all the declerations into a header file
[00:55:36] <DagoRed> Nice
[00:56:24] <rue_house> then comes an interesting challange
[00:57:13] <rue_house> part of the difference between a nc file and a dxf file is that in the dxf, all the enpoints are specified (if not indirectly), but in the NC file, all the commands revolve around where you are currently
[00:57:59] <rue_house> for example, a line in the dxf will be between two points, but in the nc file its from where you are to the specified point
[00:58:15] <rue_house> so, as part of the translation I need to match up all the endpoints of the dxf
[00:58:54] <rue_house> part of that is working out where the endpoints of arcs are, which isn't hard, but its an extra step
[00:59:35] <rue_house> ways to go yet
[00:59:40] <DagoRed> Sounds like your file reader needs a state machine.
[00:59:43] <DagoRed> yeah
[01:00:05] <rue_house> it kinda is one, in a coded sense
[01:00:12] <DagoRed> good enough
[01:00:30] <rue_house> http://paste.debian.net/418289/
[01:01:16] <rue_house> am I even using g anymore?
[01:01:42] <rue_house> need to make a proper cleanup fn too
[01:02:33] <rue_house> and yes, if the dxf is missing important information on an object, interesting things will happen
[01:02:46] <DagoRed> sounds tedious
[01:03:20] <rue_house> a state machine would be a good way of beaking up main, which IS getting a little chubby
[01:03:37] <rue_house> and its easier to pass everything around now
[01:04:46] <rue_house> I'v never used to much do {
[01:07:46] <rue_house> I did use g, I set it to 0
[01:12:28] <rue_house> oh yea
[01:12:50] <rue_house> http://paste.debian.net/418290/
[01:13:12] <rue_house> I can even add some error checking
[01:13:28] <rue_house> thats prolly next, I have to got thru all these fn's and put in the error handline
[01:13:31] <rue_house> handling
[01:14:24] * DagoRed looks
[01:14:43] <rue_house> the earlier one is full
[01:14:57] <rue_house> the last is what main looks like after a rewrap
[01:15:08] <DagoRed> So you're going singleton.
[01:15:20] <rue_house> nice and easy, point it at your file, get the entities
[01:15:36] <DagoRed> For this... seems simple enough.
[01:16:05] <rue_house> I'm trying to think of how to chain all the entities
[01:16:24] <rue_house> I'm thinking something like building a list of all the endpoints of everything and cross-corrilating it ALL
[01:16:27] <DagoRed> observer model and just use call backs?
[01:16:32] <rue_house> :)
[01:16:39] * DagoRed recognizes that is mess as well.
[01:16:58] <rue_house> here
[01:17:37] <rue_house> http://paste.debian.net/418291/
[01:17:41] <rue_house> dont break the world with it!
[01:17:47] <rue_house> (its for your state machines)
[01:17:50] <DagoRed> FYI, observer would be a bad idea here. You're implementing a known standard so... dynamic assignments on events is of little use.
[01:18:19] <DagoRed> rue_house: very nice
[01:18:29] <DagoRed> and simpler than what I'm trying to accomplish that much is for sure.
[01:18:36] <rue_house> thats not what the guys in #programming who helped me with it said
[01:18:55] <rue_house> I would summarize as "WTF!?!?!"
[01:19:02] <DagoRed> To make it even crazier... fork and run every function and you're getting closer to what I will be accomplishing.
[01:19:13] <rue_house> I used to do a thing I called function chaining
[01:19:34] <rue_house> a function would set up a list of calls for events it expected to happen,
[01:19:49] <rue_house> if an interrupting event came along, it would rewrite the list
[01:19:56] <DagoRed> .... my fear is what happens to the stack pointer in that case.
[01:20:06] <rue_house> it would change the course of the future.
[01:20:23] <rue_house> in that one it always comes back to the distribution loop
[01:20:24] <DagoRed> Still... what happens to the stack?
[01:20:35] <rue_house> while(1) func.inner(&func);
[01:20:39] <rue_house> nothing
[01:20:46] <DagoRed> ok, just a thought.
[01:21:00] <DagoRed> Wait... nothing as long as the functions are void return types.
[01:22:07] <DagoRed> If you define a file type the function can't be cleared from memory until it hits the end condition. Unless it is a void function, then it can be interupted.
[01:23:54] <rue_house> the list was implemented as a stack, the next call was always pulled off the top, so that if the list changed, there wouldn't be chaos
[01:25:05] <rue_house> the execution path jumps in and out of main
[01:25:10] <rue_house> for every call
[01:26:47] <DagoRed> neat
[01:26:52] <DagoRed> well... I'm off to bed.
[01:26:54] <DagoRed> .t
[01:26:55] <makepi> Wed, 23 Mar 2016 02:01:19 EDT
[01:27:12] <DagoRed> Ugh... phone interview in the morning questioning my SQL experience.
[02:08:37] <anniepoo> enthusiastically describe being dressed in latex, bound to a bed, and subjected to SQL 8cD
[02:09:44] <anniepoo> =8cO tjat
[02:09:55] <anniepoo> that'll cure them of asking you about SQL
[02:11:07] <SpeedEvil> anniepoo: bound to a table, you mean.
[02:16:42] <rue_house> heh
[02:44:00] <anniepoo> groan
[02:44:03] <anniepoo> lol
[02:44:18] <anniepoo> 8cP
[02:49:59] <codepython777> does anyone know of a motor controller (12v dc motor with encoders) that can drive 4 motors instead of dual?
[02:51:29] * anniepoo is here with two motor controllers
[02:51:32] <anniepoo> 8cD
[02:51:54] <anniepoo> look at CNC controllers
[02:51:59] <anniepoo> they're mostly 4 axis
[02:52:10] <anniepoo> and often support servo/encoder mode
[09:15:57] <DrXasin> Heya! Anybody got some experience with AVR TWI?
[09:18:33] <deshipu> DrXasin: yes, lots of people do, especially at #arduino
[09:18:45] <deshipu> DrXasin: also at #avr, I suppose
[09:19:31] <deshipu> DrXasin: are you collecting statistical data about people's experience, or do you have a real question that you didn't ask?
[09:19:48] <DrXasin> Ok thanks, I'll have a look there. I wanted to ask a question .. Probably should have just asked.
[09:20:16] <deshipu> yes, that's usually preferred on IRC, don't ask to ask :)
[09:21:41] <DrXasin> I am working on a TWI Handling code. The Master Transmit and Master Receive side of the code is already implemented and functional, and I am working on the Slave Receiver side. The code is already in place and should work, however, from what I can tell, the Slave AVR keeps the SCK line pulled low, since the Master only reports a successful START after I disconnect the Slave. My question now is: Is there any "traps" or register settings t
[09:21:41] <DrXasin> hat I might not know of that would cause such behavior?
[09:23:28] <veverak> hmm
[09:23:30] <deshipu> hmm, iirc the only case when slave should pull the clk low is when it tries to do clock stretching
[09:23:41] <deshipu> otherwise slaves should not touch clk
[09:23:43] <veverak> thinking about what to use to draw diagrams/graphs (you know, to visualize software architecture)
[09:23:59] <deshipu> veverak: napkins
[09:24:02] <veverak> but given than sphinx got nice support of graphviz it's the way to go I suppose
[09:24:15] <veverak> deshipu: that part is done
[09:24:16] <DrXasin> Yeah. I know that the slave might do that while TWINT is still set, but for some reason, the TWI Interrupt vector doesn't even fire, so my ISR code never gets activated.
[09:24:17] <veverak> :D
[09:24:25] <deshipu> veverak: random bits of paper and newspaper, connected with red string
[09:24:51] <veverak> deshipu: yeah, but hard to edit docs
[09:24:59] <veverak> you have to take photo of it everytime
[09:25:03] <veverak> :(
[09:25:09] <veverak> which is said because it would be cool :(
[09:25:30] <DrXasin> PPpfffrrrr graphs X3 | Whiteboard marker + Window :D
[09:25:34] <deshipu> veverak: https://thearchitectureofpossibility.files.wordpress.com/2010/03/a_beautiful_mind_3.jpg
[09:26:41] <veverak> exxactly!
[09:26:43] <veverak> :D
[09:33:21] <deshipu> veverak: you could try using DIA
[09:33:26] <deshipu> veverak: if you really hate yourself
[09:33:50] <veverak> :D
[09:33:52] <veverak> sounds interesting
[09:37:58] <deshipu> personally I just use dot
[09:38:03] <deshipu> and embed it in my latex
[09:39:16] <veverak> dot?
[09:39:19] <veverak> hmm
[09:39:25] * veverak plays with graphviz a bit
[09:39:37] <veverak> but I am allreading getting headache a bit
[21:31:31] <rue_bed> oh cmon, be serious and break out a C compiler and use libmagick
[22:00:02] <anniepoo> veverak - if you truly want to overdo it, there's extensive support for dia and graphml in SWI-Prolog ;-)
[22:02:24] <veverak> ...
[22:02:29] <veverak> why the hell I should overdo it?
[22:02:31] <veverak> :D
[22:15:13] <anniepoo> I was sort of joking - it definitely seems overkill to involve a new language in the project just to talk to a graph display package
[23:05:12] <anonnumberanon> rue_bed, what is libmagick?
[23:08:28] <Wetmelon> it is a thing! \o/
[23:15:00] <anonnumberanon> Every thing is a thing !!!
[23:15:22] <orlock> they call that Object Oriented these days
[23:15:34] <Wetmelon> lo
[23:16:38] <Wetmelon> Y'all are my people lol. Anyone building a robot?
[23:17:33] <anonnumberanon> Probaby nobody in this channel.
[23:18:06] <anonnumberanon> orlock, Yeah but an object is more defined than a thing.
[23:18:09] <anonnumberanon> I would say.
[23:18:28] <anonnumberanon> Wetmelon, have you read the topic though?
[23:18:29] <orlock> i download things to print
[23:18:32] <anonnumberanon> it's good
[23:18:48] <Wetmelon> I did. It's got arduino controlled, 3d printed death bots.
[23:18:50] <anonnumberanon> orlock, That's beautiful.
[23:18:54] <orlock> Wetmelon: Sure, i'm building one to take pictures of the stars
[23:19:12] <orlock> Wetmelon: and i work at a company that designs and makes robots
[23:19:25] <Wetmelon> Need a summer intern? I'm available :P
[23:19:43] <orlock> our USA office is in SDG
[23:20:23] <orlock> Wetmelon: The chances are you have seen something we have worked on
[23:21:11] <Wetmelon> Certainly possible
[23:22:49] <Wetmelon> SDG == San Diego?
[23:23:17] <orlock> yeah
[23:23:23] <Wetmelon> I could do San Diego for a summer lol. I've currently applied to Tesla, SpaceX, and Volvo. I'm way behind on my internship apps :(
[23:28:44] <anonnumberanon> Yeah you must apply for 50 to 100.
[23:58:29] <goppo> hi
[23:58:55] <goppo> does anyone know of a good way for attaching a small piece of sheet steel (30mm x 50mm x 1mm) to a small piece of nylon (50mm x 50mm x 4mm)?
[23:59:11] <goppo> i'm hoping to use only small screws (<M3)
[23:59:20] <goppo> does nylon take tapping screws?