Page 11 of 42 FirstFirst ... 91011121321 ... LastLast
Results 101 to 110 of 411

Thread: DNA Development Blog

  1. #101
    Is this what you are looking for Curt? Found it in a box of stuff that my grandfather had squireled away at my shop.

    http://cgi.ebay.com/ws/eBayISAPI.dll...m=181205632408

  2. #102
    Insider
    Join Date
    Jun 2012
    Location
    Auckland, NZ
    Posts
    284
    I use an Atten 858D, it's cheap but it does the trick (I don't use it nearly as much as my iron generally). As the name suggests it's primarily for rework - there is still absolutely a place for a reflow oven/frying pan, but once you have the components on there you're kinda stuck. I use the rework station alongside a pair of tweezers, a roll of polyimide tape, a spatula for the paste and sometimes the blade tip on my Hakko. Stencils supposedly make life way easier but I don't have any.

    http://www.ebay.com/sch/i.html?_nkw=858D+110v
    Last edited by neftaly; 08-28-2013 at 09:15 PM.

  3. #103
    Insider Curt's Avatar
    Join Date
    Jun 2013
    Location
    Atlanta, GA
    Posts
    295
    Supports Inception Designs
    Supports Inception Designs
    Quote Originally Posted by evil_racecocker View Post
    Is this what you are looking for Curt? Found it in a box of stuff that my grandfather had squireled away at my shop.

    http://cgi.ebay.com/ws/eBayISAPI.dll...m=181205632408
    sure. would love that. for a grand? I think not

  4. #104
    Insider Curt's Avatar
    Join Date
    Jun 2013
    Location
    Atlanta, GA
    Posts
    295
    Supports Inception Designs
    Supports Inception Designs
    Code:
    :10000000C008EF93FF93EEEFFCE00995FF91EF91AD
    :100010000895E0E6FCE00994FFFFFFFFFFFFFFFF0C
    :10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
    :10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
    :10004000404142434445FFFF48494A4B4C4D4E4FC7
    :1000500050515253FFFF565758595A5B5C5D5E5FD3
    :10006000606162636465FFFF68696A6B6C6D6E6FE7
    :10007000707172737475767778797A7B7C7D7E7F08
    :10008000808182838485868788898A8B8C8D8E8FF8
    :10009000909192939495969798999A9B9C9D9E9FE8
    :1000A000A0A1A2A3A4A5A6A7A8A9AAABACADAEAFD8
    :1000B000B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC8
    :1000C000C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFB8
    :1000D000D0D1D2D3FFFFD6D7D8D9DADBDCDDFFFF12
    :1000E000E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF98
    :1000F000F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF88
    WTF.

    WHERE ARE THOS 0xFFFF's coming from?!

    not the ones at the begining I know where they are from, I'm talking about the ones in the code stream. they show up and I can't amke them go away. here is the funny thing.. I implemented the per-word-CRC and it DIDN'T FIX THEM.

    That means the problem isn't data transmission, it's data commit. except that means the bug is in a function call so small.. well.. here:

    Code:
    unsigned char usbFunctionWrite( unsigned char *data, unsigned char len )
    {
    	cli();
    
    	data++;
    	if ( *data == USBCommandEnterApp ) // being asked to commit the code update and jump to the app
    	{
    		// now safe to install page 0 (interrupt vector table)
    		// overwriting our USB hack
    		for( len=0; len<32; len++ ) // re-using param saves stack-frame constructions opcodes
    		{
    			boot_page_fill( len*2, g_pageZero[len] );
    		}
    
    		commitPage( 0 );
    		
    		for(;;);
    		asm volatile ("ijmp" ::"z" (0)); // jump to code start
    	}
    
    	// else it is a code page, the only other recognized command
    	// for the bootloader
    
    	data++;
    	unsigned char pos = *data++;
    	unsigned char check = *data++;
    	uint16_t w = check;
    	w += *data << 8;
    	check += *data++;
    
    	// if command checksum is good, do it
    	if ( !(s_replyBuffer[2] = ((check + pos) - *data)) )
    	{
    		if ( pos == BootloaderCommandCommitPage )
    		{
    			if ( w < 0x1900 ) // do not ever overwrite myself! no matter WHAT the PC tells me to do!
    			{
    				sei();
    				commitPage( w );
    			}
    			else
    			{
    				s_replyBuffer[2] = 2;
    			}
    		}
    		else if ( pos == BootloaderCommandLoadZeroPage )
    		{
    			g_pageZero[g_pageZeroIndex++] = w;
    		}
    		else // pos is an actual code position
    		{
    			boot_page_fill( pos, w );
    		}
    	}
    
    	sei();
    	return 1;
    }
    Grah?! <smashes head on keyboard>

  5. #105
    CAD Monkey skibbo's Avatar
    Join Date
    Apr 2013
    Location
    Milwaukee County, WI
    Posts
    1,059
    Supports Inception Designs
    Quote Originally Posted by Simon View Post
    What do you plan to put it in
    I'm not quite sure yet. I'd love to figure out an e-auto Hammer-7 or something like that for S&G's. I could've used this the other day when my Etha board went down.


    Curt
    I really wish I knew how to help with the head smashing bit.

    All I see is this:
    (it's also funny since it's DNA sequencing code)
    Team Akkadian Paintball Squad

    B.S. Mechanical Engineering UW-Platteville 2012

    Quote Originally Posted by neftaly
    Simon Stevens said that will be totally fine and nothing bad could ever happen. Ever.

  6. #106
    Insider Curt's Avatar
    Join Date
    Jun 2013
    Location
    Atlanta, GA
    Posts
    295
    Supports Inception Designs
    Supports Inception Designs
    pretty sure I figured it out.

    actually the solution is in that code snippet, I just hadn't actually tested it before I posted it (didn't think it was going to work).

    On some USB implementations (I am theorizing) the messages come too fast.. my workshop computer is no slouch.. dual-CPU box, only a few generations old. My upstairs computer on the other hand is my game-box, latest-gen quad-core with much newer motherboard.

    So anyways my theory is that a USB interrupt it firing during the service routine for the data, if it catches it at just the wrong time, it nukes some kind of timing. Without more introspective debugging I won't know for sure, so disabling the interrupts during the loop (sei()/cli()) should keep them from being services and keep things atomic.

    EXCEPT. I already THOUGHT that so I added some sleep()'s between USB calls on the PC side, and they helped, but didn't fix the problem. I bet if I knew more about exactly how V-USB works I'd have a better idea what was going wonky.

    anyways testing continues but right now it looks SUPER good, used to be a 0xFFFF sequence every, oh 15-20 bytes or so, I've uploaded 2k blocks now and nothing. So as I am often heard saying at my day job "I've fixed .. the first problem"

  7. #107
    Insider
    Join Date
    Jun 2012
    Location
    Auckland, NZ
    Posts
    284
    Are you sure it's not a timing issue, something retarded getting stuck on high?

    Ninja edit: ... yeah you got it then

  8. #108
    so throwing at least one of these in an old angel (or 30, i have alot of projects). Count me in.

  9. #109
    Insider new ion?'s Avatar
    Join Date
    Feb 2013
    Location
    Victoria, BC
    Posts
    1,296
    I love seeing people get excited when they figure something out.

    Curt, looking great. Got my Mini back too. Thanks for that!

  10. #110
    Anything I can do/donate to the project?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •