To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.nxtOpen lugnet.robotics.nxt in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / NXT / 380
379  |  381
Subject: 
Re: Text Based Programming for NXT - pbLua is Available
Newsgroups: 
lugnet.robotics.nxt
Date: 
Sat, 20 Jan 2007 03:39:30 GMT
Viewed: 
14489 times
  
Here are my notes on what I've been able to accomplish so far in OSX
on my MacBookPro.

Loading pbLua firmware on nxt running standard firmware:

1. plugin usb
2. rename nxt-lua.bin to nxt-lua.rfw
3. open NXT-G, goto Tools -> Update NXT Firmware.  Click Browse
button, select folder that contains nxt-lua.rfw.  Click Download
button.  It should eventually say it was successful.
4. reboot OSX (this is the only way I can figure out how to get it to
enumerate the usb device and make pbLua come to life, I was able to do
it once without rebooting, but was trying so many different things at
the same time so I don't know what did it and I'm unable to duplicate
it)
5. NXT should stop clicking and screen should now say "pbLua
07-01-14-0" (I don't know what the numbers mean)
6. From here, I don't know what to do next.  Need to figure out how to
tell OSX that this device is a serial port.  When I unplug usb and
plug it back in, console says:

AppleUSBCDC: start - initDevice failed

The USB Prober app from the xcode dev tools, gives the following info:

Full Speed device @ 2 (0x3D100000):
.............................................   Communication device
from Atmel Corporation
    Device Descriptor
        Descriptor Version Number:   0x0110
        Device Class:   2   (Communication)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   8
        Device VendorID/ProductID:   0x03EB/0x6125   (Atmel Corporation)
        Device Version Number:   0x0110
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   0 (none)
        Serial Number String:   0 (none)
    Configuration Descriptor
        Length (and contents):   67
            Raw Descriptor (hex)    0000: 09 02 43 00 02 01 00 C0  00
09 04 00 00 01 02 02
            Raw Descriptor (hex)    0010: 00 00 05 24 00 10 01 04  24
02 00 05 24 06 00 01
            Raw Descriptor (hex)    0020: 05 24 01 00 01 07 05 83  03
08 00 FF 09 04 01 00
            Raw Descriptor (hex)    0030: 02 0A 00 00 00 07 05 01  02
40 00 00 07 05 82 02
            Raw Descriptor (hex)    0040: 40 00 00
        Number of Interfaces:   2
        Configuration Value:   1
        Attributes:   0xC0 (self-powered)
        MaxPower:   0 ma
        Interface #0 - Communications-Control
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   2
            Interface Protocol:   0
            Comm Class Header Functional Descriptor
                Raw Descriptor (hex)   0000: 05 24 00 10 01
            Comm Class Abstract Control Management Functional Descriptor
                Raw Descriptor (hex)   0000: 04 24 02 00
            Comm Class Union Functional Descriptor
                Raw Descriptor (hex)   0000: 05 24 06 00 01
            Comm Class Call Management Functional Descriptor
                Raw Descriptor (hex)   0000: 05 24 01 00 01
            Endpoint 0x83 - Interrupt Input
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt no synchronization data endpoint)
                Max Packet Size:   8
                Polling Interval:   255 ms
        Interface #1 - Communications-Data/Unknown Comm Class Model
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   0
            Endpoint 0x01 - Bulk Output
                Address:   0x01  (OUT)
                Attributes:   0x02  (Bulk no synchronization data endpoint)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x82 - Bulk Input
                Address:   0x82  (IN)
                Attributes:   0x02  (Bulk no synchronization data endpoint)
                Max Packet Size:   64
                Polling Interval:   0 ms

Loading standard firmware back on nxt running pbLua:

1. plugin usb
2. hold down reset button (in hole under usb port, use paper clip) for
5 seconds, screen should be blank and be making a faint clicking sound
3. open NXT-G, goto Tools -> Update NXT Firmware.  Select LEGO
Mindstorms NXT firmware, click Download button
4. NXT Should reboot into standard firmware



Message has 1 Reply:
  Re: Text Based Programming for NXT - pbLua is Available
 
(...) Tony, thanks for the work so far. What happens if, after the firmware is loaded you do any of the following: 1. Reset the NXT (press reset for less than 1 second) 2. Unplug the USB cable, wait 5 seconds, and plug it back in again (...) Here's (...) (18 years ago, 20-Jan-07, to lugnet.robotics.nxt)

Message is in Reply To:
  Re: Text Based Programming for NXT - pbLua is Available
 
(...) I think pbLua is actually running. The problem is that the signon screen does not get displayed until the USB connection is made. Which is why I need to find out how USB enumeration happens on a Mac. The pbLua firmware makes the NXT look like (...) (18 years ago, 19-Jan-07, to lugnet.robotics.nxt)

28 Messages in This Thread:










Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR