Embedded Development on OSX

26,849

Embedded Development on OSX
Embedded Development on OSX

Fixed some issues with the Benito Arduino programmer and upgraded it to the latest version of the LUFA library. There was a mismatch between the INF file and the library-supplied descriptors. Apologies to the two XP users. As this is the only batch with this issue, the boards currently in possession will be reprogrammed. In the meantime, this can be resolved by changing a specific line in the current driver file or by copying the provided text into a new file. The driver file includes various sections and definitions for the USB to Serial setup, including manufacturer details and service information. The second session of the induction is nearing 20 prepaid attendees, so RSVPs are encouraged. Additionally, there are devices requiring interfacing with either the Benito or another AVR board operating at 3.3V, including an Ethernet interface, a Bluetooth modem, and XBee modules. Initial interface examples for the XBee were based on a circuit from MaxStream, which evolved to include a resistor-based voltage divider. The circuit lacked a proper pull-down for the reset, which was attempted to be addressed with two transistors. The operating frequency at 3.3V may be uncertain at 16MHz, but dropping to 8MHz is reliable. Buffers tolerant of a range of voltages have been considered, such as the 74ABT126 tri-state buffer, which allows for two-way buffering by selecting the direction. Last year, LED arrays were cast for a project but not wired up. There are plans to use an AVR to directly drive the arrays via I2C, with modifications made to Dorkboards to facilitate this.

The Benito Arduino programmer has undergone an upgrade to the LUFA library, addressing previous issues related to mismatched descriptors in the INF file. This upgrade is crucial for ensuring compatibility with Windows XP systems, particularly for the limited batch of devices that experienced these discrepancies. A reprogramming effort is underway for the affected boards, and users are advised to modify the driver file as necessary to rectify the problem temporarily.

The driver file for the USB to Serial setup contains several sections that define the characteristics and functionalities of the device. This includes the manufacturer information, destination directories, and service configurations, which are essential for the operating system to recognize and properly interface with the hardware. The INF file structure follows a standard format that includes versioning, device class identification, and driver service parameters.

In conjunction with the programming updates, there is an ongoing initiative to interface various devices with the Benito or alternative AVR boards, specifically those operating at 3.3V. The devices include an Ethernet interface, a Bluetooth modem, and XBee modules. The initial interfacing attempts utilized a circuit design from MaxStream, which was subsequently adapted to include a resistor-based voltage divider for voltage level adjustment. However, the original design lacked adequate pull-down functionality for the reset line, prompting the incorporation of two transistors to address this deficiency.

Operating frequency considerations are critical when interfacing components at different voltage levels. While 16MHz operation at 3.3V may present challenges, reducing the frequency to 8MHz ensures stable performance. The introduction of buffers, such as the 74ABT126 tri-state buffer, is advantageous for managing signal directionality and voltage tolerance, allowing for effective communication between devices with different voltage levels.

In terms of LED control, there is a proposal to utilize an AVR microcontroller to directly drive LED arrays via I2C communication. Previous modifications to Dorkboards involved cutting traces and adding resistors to facilitate this integration. The implementation of a simple 4-node LED array (8x8) is planned, leveraging the I2C protocol to manage the LED states without the need for constant refresh cycles, thereby streamlining the design and enhancing functionality.Fixed some issues with the benito arduino programmer and upgraded it to the latest version of the LUFA library. I hadnt noticed that there was a miss match between the. inf and the library supplied descriptors. My appoligies to the two xp users. As this is the only batch with this issue I will reprogram the boards that I currently have. In the mean time this can be fixed by changing the following line in the current driver file from: Or copy the following into a new file. ; Windows MyUSB USB to Serial Setup File ; Copyright (c) 2000 Microsoft Corporation [Version] Signature="$Windows NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%COMPANY% LayoutFile=layout.

inf DriverVer=06/06/2006, 1. 0. 0. 0 [Manufacturer] %MFGNAME% = ManufName [DestinationDirs] DefaultDestDir=12 [ManufName] %Modem3% = Modem3, USBVID_03EB&PID_2044 ;- ; Windows 2000/XP Sections ;- [Modem3. nt] CopyFiles=USBModemCopyFileSection AddReg=Modem3. nt. AddReg [USBModemCopyFileSection] usbser. sys, 0x20 [Modem3. nt. AddReg] HKR, DevLoader, *ntkern HKR, NTMPDriver, usbser. sys HKR, EnumPropPages32, "MsPorts. dll, SerialPortPropPageProvider" [Modem3. nt. Services] AddService=usbser, 0x00000002, DriverService [DriverService] DisplayName=%SERVICE% ServiceType=1 StartType=3 ErrorControl=1 ServiceBinary=%12%usbser.

sys ;- ; String Definitions ;- [Strings] COMPANY="Tempus Dictum, Inc" MFGNAME="Donald Delmar Davis" Modem3="USB Virtual Serial Port" SERVICE="USB Virtual Serial Port CDC Driver" The Second session of the induction is getting close to 20 prepayed people so if you havent rsvpd please do so soon (either bring check/money to the meeting monday or paypal $25 to cult /at/ tempusdictum. com) I have a few devices that I need to interface to either the benito or another avr board that run at 3.

3v. one is an ethernet interface, one is a bluetooth modem and then there are the x-bees. When looking for interface examples for the xbee I found a site that started out with a circuit from maxstream and then once everything was working tried a resistor based voltage divider. This is how I got my first set of x-bees running via the ftdi chips. One thing that this circuit didn`t do for me was to provide a decent pull-down for the reset. The 2 transistors on the right of this circuit are an attempt to do just that. Looking at this you can see that 16mhz may or may not be in the operating range at 3. 3v. But if you drop the crystal down to 8mhz you are good for sure. You may have to change a few things but it is doable. The idea of adding another layer at each intervace between boards can have you asking for some Tzatziki and falafel to go with the PITA.

There are buffers which are designed specifcally for this. Many of the odd, many of them expensive. But there are also many families of buffer which are tolerant  of a range of voltages outside of their supply. One of the buffers I checked out was the 74abt126 which is a tri state buffer. (I was looking at that because with the tristate buffers you can actually do a two way buffer by selecting the direction).

I am not entirely certain that the 5v recieve side is kosher with these. Last year I cast a series of led arrays for thing-a-day but hadnt wired them up. With this in mind I ordered some hc595s in the last group order but the snow canceled the meeting. I have been thinking about using the avr to drive the arrays directly and control them using i2c. I hacked 4 dorkboards by cutting the traces for pins 5-12 on the top of the board and soldering 220 ohm resistors on the other side. This gives a one chip solution which does not require a constant refresh or other attention. /* Simple 4 node array of leds (8x8). */ #include int node=0; /* CHANGE THIS BASED ON POSITION OF ARRAY */ volatile int twi_group_offset=128; volatile int colpins[]={//12, 11, 10, 9, 8, 7, 6, 5}; 5, 6, 7, 8, 9, 10, 11, 12}; volatile int rowpins[]

🔗 External reference