Probably better on other posting. as its about RepG. Heading over that way now.by aka47 - Firmware - experimental, borrowed, and future
I have been on #Reprap and #Repsnapper this morning and am amazed at the biodiversity going off in the Reprap ecosphere. What I really need to know though is what is the best host ware to use with teacup. The reprap wiki suggests it works with anything, but I am not convinced about RepG24 Somewhere to chew these sorts of things over would be good.by aka47 - Firmware - experimental, borrowed, and future
Guys Is there an IRC channel on freenode for teacup ??by aka47 - Firmware - experimental, borrowed, and future
Just found this thread. Probably better moving over here of r working between Teacup and Replicatorg24. Just working through some random problems, not sure where they are yet. What have you been using for tracing your serial comms between ReplicatorG and Teacup Architect ??by aka47 - Firmware - experimental, borrowed, and future
As a complete aside. I have been wondering a couple of things. Firstly is it perhaps worth looking into using O commands in conjunction with M98 and M99 in some way with SD cards for stored programs. Could produce some very, very useful features. Secondly is it worth implementing some of the M commands for manipulating spare IO and or pins on devices that have some spare. Useful for those wby aka47 - Firmware - experimental, borrowed, and future
Yup already spotted the config settings this is what I had tweaked. but thanks anyway. Setting up serial debugging using socat is turning out to be a touch tedious. See attached file for traces etc. ***** is a comment or note. ReplicatorG 24 doesn't seem to want to see the socat generated PTY as a valid serial port for some reason. Tried ctty option as well. Also tried pointing ReplicatorG dby aka47 - Firmware - experimental, borrowed, and future
OK quick update. Using ReplicatorG 24 with the Mendel Mega Ramps driver tweaked for 115200 baud. Just fetched latest bunch of master, recompiled and programmed. Tweaked direction for X and Y axes as they were gong the wrong way. When they run they now run the right way. The machine now seems to be randomly resetting and the stepper drivers are getting hot where as they didn't seem to be befoby aka47 - Firmware - experimental, borrowed, and future
Guys Sorry, another trivial thing. Just compiled master for a ramps machine and noticed:- CC gcode_parse.o CC gcode_process.o gcode_process.c:61: warning: ‘SpecialMoveE’ defined but not used CC timer.o CC temp.o It all compiled fine and is a lower level warning so probably not serious. Cheers aka47by aka47 - Firmware - experimental, borrowed, and future
Triffid sir. New things. How are you proposing using socat? I have only really used it to link up two network ports or a port and a pipe. Not as a "T" for the serial device. So to capture the stream between say /dev/ttyUSB0 and ReplicatorG, how should I be using socat ?? Cheers aka47by aka47 - Firmware - experimental, borrowed, and future
If you want to see what is happening in your serial interaction host to firmware and you are running linux then something like jpnevulator a serial sniffer should be useful and is part of the debs n ubuntu repositories.by aka47 - Firmware - experimental, borrowed, and future
Guys A trivial thing. Is it worth renaming the output files from mendel to perhaps teacup. A further disambiguation thing. I built the final firmware of 5d for my Huxley-Stretch and it compiled first time with minimal tweaks. I have just done the same with Teacup too, great work. Cheers Aka47by aka47 - Firmware - experimental, borrowed, and future
I will have a rummage and see what it turns up. I wasn't aware that the quorn organism was engineered. Therefore patentable. But is would be good news that the patent has expired. It's open season now then ..... The production process etc maybe patentable though. I think patents etc are overdue a shakeup. There is far too much use of patents as an exploitative tool. Not really what they wereby aka47 - Tissue Engineering
Apparently lab based cell/tissue culture routinely uses something called Foetal Calf Serum as the bloodlike fluid containing nutrients. This is kept in the temperature and gas controlled atmosphere of an incubator oven thing I think. I guess the name may give away what it is ..... Nice. the problem appears to be two fold. 1. Gas and nutrient transport provision. 2. Waste Gas and effluent remoby aka47 - Tissue Engineering
We should end up then with a config.h something like /* common to all includes*/ #include wibble #include blah /* put all the rest of something that may or may not be shared here */ /* warning may include some conditionals */ #define something #define somethingelse 0x00 /* put mcu specific conditional includes here but only if we are really sure. */ /* next to last last so you can refer toby aka47 - Firmware - experimental, borrowed, and future
Actualy just re read your posting, You were talking about pin defs as in what they were doing on the board rather than pin defs on the device. Those are stricly per board and indirectly related to the mcu used on the board. Yup it is doable to select those files purely as by board. Given that each board is likely to be wired differently but will have some pins in common with others then I guessby aka47 - Firmware - experimental, borrowed, and future
Yes I can see the benefits in combining some parts of both aproaches. The pin defs and to some extent register defs are messy with the ATMegas (but not the XMegas, I mention this only for comparison). The problem wiht the ATMegas is that they have evolved and the registers and pins are in some cases called differnt things on different devices. This was something I had not noticed until Eric theby aka47 - Firmware - experimental, borrowed, and future
I guess thats what happens when I try to have in depth technical discusions at silly o'clock in the morning. lol. Edit: just been back and edited in the code tags, thanks for that. On config files. Remember that the compiler see's all the projects files that are included as one big file because the C preprocessor intelligently (guided by the preprocessor macro commands (#define, #include,#if eby aka47 - Firmware - experimental, borrowed, and future
With ARM the issues (Same with PIC's) are the peripherals. They are quite different on other micro-controlers. Code that merely does processing can be tweaked for endienness etc and different data representations again through macros. However the registers, bits, setup and functions of the peripherals are quite different. This is why folk go for a HAL & API and the bloat it introduces, puby aka47 - Firmware - experimental, borrowed, and future
Bum the forum has messed the code by losing the indentation, but I guess you get the method.by aka47 - Firmware - experimental, borrowed, and future
So onto how to conditionaly include configs. In config.h which is included in the source. ----- snip start of of config .h ------ / * common to all includes*/ #include wibble #include blah /* put all the common stuff here */ #define something #define somethingelse 0x00 /* put conditional includes here last so you can refer to anything you needed pre defined from the common stuf */ #if defiby aka47 - Firmware - experimental, borrowed, and future
Yeah I agree, With FreeRTOS you are effectively adding an abstraction layer and API. All with a code size overhead that would rule out the lower end ATmegas ie 168 etc. t looks like an exciting project though and definitely worth doing. I am waiting for someone to turn out a linux (RT extended) controller using one of the NXP Processors. It is potentially do-able to lash up some form of hardby aka47 - Firmware - experimental, borrowed, and future
> Frequency can be set by the board definition. Yup I agree. I can't see why this cannot live in config.h. > Fuses and bootload position by the mcu definition. Unfortunately not. Fuses and boot-load position are board/implementation and boot-loader specific. You can have a range of boards all using the same device (mcu setting) with different clock options and different boot-loaders tby aka47 - Firmware - experimental, borrowed, and future
Guys ----snip---- The only part I'm not sure about is how to extract the correct target cpu for gcc from the config in a way that works on windows. It's not enough to provide the relevant defines, gcc needs to have the target cpu passed on its commandline so it can pass that on to binutils. It's trivial in linux, egrep -o would probably be sufficient (awk, sed, perl can do it too) but I don't waby aka47 - Firmware - experimental, borrowed, and future
Triffid sir, Been thinking about the config files and perhaps having a config.h per board is'nt necessary. If the -D value directive from the make file specifies a board. then the source can pick up the board tag in config.h using #ifdef's. This keeps the make file simpler and moves all the board specifics to config.h Where one config.h fits all with compilation being conditional on the boardby aka47 - Firmware - experimental, borrowed, and future
OK some simple facts. Fact 1. If you have an Arduino compatible board with an Arduino compatible boot-loader (I count Sanguino in this category) then you don't need a hardware programmer. Simply because the boot-loader emulates one and the device fuses were set at the point this boot-loader was programmed into the device using a hardware boot-loader. If you have an at-mega based micro-controllby aka47 - Firmware - experimental, borrowed, and future
OK Here's the rules I added to the make file for stk500v2 ############################################################ # Jan 9, 2011 Adding 20Mhz 1284P support # www.kirbyand.co.uk # avrdude: Device signature = 0x1e9705 # avrdude: safemode: lfuse reads as F7 # avrdude: safemode: hfuse reads as D8 # avrdude: safemode: efuse reads as FD # avrdude: safemode: lockbits 3F ############by aka47 - Firmware - experimental, borrowed, and future
triffid sir. it is worth having a rummage through the stk500v2 source and makefile. atmel have #defines for each processor type. you can add multiple -D statments to the gcc invokation. each -D value statement is equivalent to a #define value in the target source. if you combine the built in processor defines (auto defined by choosing ypur processor type) with a custom #define boardtype createby aka47 - Firmware - experimental, borrowed, and future
Warez for the Min1284p Controller Board. Having set off to build and use the awesome FiveD on Arduino firmware for my minimalist DIY micro-controller board. I found we were short a boot-loader. Unfortunately the ATMega1284P whilst being a drop in replacement for the Sanguino's 644P doesn't have a boot-loader ready to go and is arguably a little way off the beaten Arduino Path. I modified theby aka47 - Firmware - experimental, borrowed, and future
A potential for adding electrical noise to wires is to run an electric drill near the wires or wrap a turn or two around the wire to the drill. Not the best route. Personally speaking I am of the view that noisy limit switches are something that are fixable and should be fixed in the electronics rather than avoiding their use in software. (I guess this comes from professional experience of embeby aka47 - Firmware - experimental, borrowed, and future
I think we are both right. The big question is how do we create something like ferrite. I am the sad guy dragging a magnet down the beach on the end of a piece of string trawling for magnetite and rust. The aim being to mix enough magneticaly conductive stuff. With non electricaly conductive binder (epoxy, ceramic, grp resin take your pick) to make castable magnetic components that don't condby aka47 - General