Jump to content
43oh

spirilis

Members
  • Content Count

    3,399
  • Joined

  • Last visited

  • Days Won

    146

Reputation Activity

  1. Like
    spirilis reacted to chicken in Products using MSP430   
    Here's a MSP430F413 in a cheap (< US$100) radar speed gun

    http://www.allaboutcircuits.com/news/teardown-tuesday-radar-gun/
     
    I'm surprised how little analog and digital processing there is in this product.. I guess all the RF magic happens inside the transceiver module (which is available at Mouser for $50).
  2. Like
    spirilis reacted to chicken in [POTM] dAISy - A Simple AIS Receiver   
    Tindie business slowed down considerably over the last two months. Not sure yet if it's the cheap competition that started showing up, or whether everyone's just out sailing.
     
    Anyways, the upside is, that I finally have some time to tinker on new things again..

     
    Love the new steel stencils from OSH Stencils. I managed to reflow 4 boards without a single bridge, including the big QFN which gave me a lot of grief in the past. Maybe it's the combination with OSH Park PCBs instead of the cheap Chinese ones. Also OSH Park turned around my last few orders in two weeks from ordering to receiving the boards in my mailbox. I seem to remember that this was closer to three weeks in the past. 
  3. Like
    spirilis reacted to will in Temperature & Humidity sensor -with LCD & RF   
    Hi everyone, this is my credit card size wireless sensor node,
    with a 7-seg LCD display showing temperature & humidity, update every second.
    using MSP430FR4133 with HDC1080,BMP180 and OPT3002, 
    transmit by nRF24l01, which sends out temp,humid,pressure,luminosity and also battery voltage per minute.
     

     
    It is all power by a CR2032, and thanks to MSP430FR4133, I can manage to have half an year battery life.

    also thanks to MSP430RF4133 Launchpad with build-in energyTrace, I can estimate battery life with a click(no more oscilloscope  )

    note that I've actually put an RF430 on the down left ot the board(there is an antenna for that),
    which will act as a NFC tag, but it draws too much current (~15uA), so I took it off
    and at the down right is the battery voltage measurement with a mosfet to cut the power,
    but I found out that I can just measure internal voltage reference to calculate its supply voltage, so I've also remove that. 

     
    although I'm pretty much satisfy with this power consumption, but I still think that 16.5uA is a little bit too far from estimating from datasheet
    and I am still trying to figure that out
  4. Like
    spirilis reacted to bluehash in `Bare Metal` BeagleBone Development in Linux   
    Well. Recently I tried setting up CCS for bare betal BBB programming. TI is currently going through a phase of moving their BBB Starterware package to TI-RTOS ProcessorSDK. Unfortunately I ran into too many issues getting their tool chain to work correctly. I gave up and moved to another processor because this project was time critical. There are no readmes for the projects. Build's break and not documented. The learning curve is a bit steep. It is not ready for prime time yet.
     
    Now your issue is more to do with using JLink with CCS on linux. Firstly, JLink will work on CCS for the TivaC family, at least on windows. JLink for BBB on CCS is not supported, even on windows.
    I had to buy an XDS200 to get code pushed into the BBB.
  5. Like
    spirilis reacted to chicken in I like government surplus stores   
    Yeah, just let me rearrange the chairs to make some space on my patio.
  6. Like
    spirilis reacted to zeke in I like government surplus stores   
    @@spirilis
     
    Here's what I found in your state:
    HP Laserjet 8550DN HP Laserjet 5 A lot of HP printers There's a large format printer in this listing
  7. Like
    spirilis reacted to yyrkoon in I like government surplus stores   
    We have a laserjet 5si, that was rebuilt by my buddy. I think he paid $130 for it, and $100 of that was for shipping( off ebay ). Then a few years later he bought another one for $40 and picked it up in person. The one we're currently using does 11x17 paper too, and has a duplexer as well.
     
    And yeah . . . 11"x17" schematics are nice. Picture below of what it looks like, but that particular one in the picture is not ours.
     
    http://img.clasf.pk/2014/03/25/HP-Laserjet-5Si-A3-A4-size-High-Volume-Printer-20140325131817.jpg
  8. Like
    spirilis reacted to zeke in I like government surplus stores   
    I really like government surplus stores. I mean, reeeeeeally like them.
     
    This week, I bought two HP laserjet printers:
    A Laserjet 5000n which can print 11"x17" and that is great for schematics, and A Laserjet 4350dnt which has the duplexer and a second 500 sheet paper tray. I know I didn't steal them because I have a bill of sale. The total for both printers was $30!
     
    I also got a Fellowes Powershred C-320 paper shredder. That thing can swallow 25 sheets of paper at a time and will not choke!  I paid $80 for it.
     
    So, yeah, I like this government surplus stuff.
  9. Like
    spirilis reacted to chicken in GPS logger for a local Beagle club   
    I feel some serious tool-envy
  10. Like
    spirilis reacted to Fred in CC1350 LaunchPad   
    Just spotted the CC1350 Launchpad although some of the documentation is marked April so maybe it was just me that missed it.
     
    It's a dual mode Sub-1GHz and BLE wireless launchpad. The US version seems to be available now, but the EU version is not yet available. I assume this means that it's not switchable between the US (915MHz) and EU (868MHz) band for the Sub-1Ghz bit.
     
    http://www.ti.com/tool/launchxl-cc1350
       
     
  11. Like
    spirilis reacted to Fmilburn in CCSimpleLink   
    The links below showed up in an email I received from edX .  They lead to a preview from TI for a CC2650 Module BoosterPack that is supposed to be released in time for a course in September.  Of interest, it includes an "Additional CC2650 Module Sample" along with the BoosterPack.
     
    http://www.ti.com/tool/boostxl-cc2650ma'>TI SimpleLink

  12. Like
    spirilis got a reaction from LIJsselstein in Energia and Wolverine - Tips   
    I wrote this up the other week but forgot to post it.  Just a little power-user help for folks interested in really exploring the "potential" behind FRAM memory in Energia.
     
    Tips & Advanced Tricks for using Wolverine with Energia 12   I've brainstormed a few things folks might want to play with if they're interested in getting the most out of their Wolverine LaunchPad and its built-in FRAM memory.  The FRAM memory, being modifiable yet persistent, is quite different from Flash and our C compilers aren't necessarily laid out to make it super-simple to use.  That said, it's not really that hard to use.   There are a few "tricks" you can employ with Energia 12 to get more out of your Wolverine-   1. Declare global variables as being part of the ".text" linker section, so they live in FRAM and are not copied to/fro RAM on bootup. (this is the "quick hack" way to do it, the long & canonical way to do this is to define a new section in the Linker Script assigned to the ROM segment and declare your arrays or variables as being a part of that section instead).   2. Write/read to the "High" memory segment -- the Wolverine happens to have a 16KB segment of its FRAM living from 0x10000 to 0x13FFF (that's above address 65536 decimal, outside the realm of what a 16-bit pointer can reference) which is unknown to the MSPGCC compiler that ships with Energia 12, since it doesn't support large-memory model.   3. Move your RAM to FRAM, giving you more RAM (stack & heap) if it's what you want.  This isn't always necessary since you can declare large arrays as a global in the ".text" section per #1 above.   Without further adieu, let me show you:   1. In your sketch, up top you can do something like this:   #define PERSIST __attribute__((section(".text")))   and then declare global variables with this new "PERSIST" keyword like such:   uint8_t DisplayBuffer[LCD_MAXIMUM_Y][LCD_MAXIMUM_X] PERSIST;   Your "DisplayBuffer" array will live in FRAM and won't hog up any of your RAM.  It will co-exist with program code, so be VERY VERY SURE not to make any "buffer overflow" mistakes and write before or past the end of its memory boundaries or you will corrupt your sketch's binary application code.  Take this doubly serious when the application in question involves Internet connectivity of any kind; I can imagine the spectacular headline on the blogs "IoT application sports buffer-overflow exploit where attacker can write any binary MSP430 code they want!"   Alternately, you can use the InfoMem segments:   uint8_t DisplayBuffer[512] __attribute__((section(".infomem")));   which has 512 bytes (maximum) available for your use; it lives outside the main code FRAM area and if you try writing beyond it, you attempt to write to the calibration data (TLV) FRAM segment which should throw an internal violation (not sure what happens, whether the chip halts or resets or does nothing, but the calibration info will remain safe).  Unlike other MSP430 chips, Info segment "A" can be written on these as the calibration data is stored in another "special" FRAM segment at 0x1A00.     2. I wrote some functions employing assembly language; which the current stable release of MSPGCC does understand (the extended-memory 20-bit instructions) that gives you a way to copy data to or from the higher memory segments. See here: HighMem.zip   The functions are called highmem_write() and highmem_read().  You can import the HighMem library into your sketch, and it should add: #include "highmem.h" to your sketch.   The functions are:   void highmem_write(uint32_t dstaddr, void *srcaddr, uint16_t len) You give it the FRAM destination address as a 32-bit integer (0x10000 or above), followed by a pointer to a buffer in your SRAM or lower FRAM, followed by the # of bytes you want to write.   The reciprocal of this is highmem_read(): void highmem_read(uint32_t srcaddr, void *dstaddr, uint16_t len)   Give it the FRAM source address as a 32-bit integer (0x10000 or above), followed by a pointer to a buffer in your SRAM or lower FRAM where you want the data to be copied into, followed by the # of bytes.  The # of bytes can be an odd or even number, as it uses byte-at-once transfers rather than word-at-once.  It uses DMA channel#2 to do the transfers.   For those using the FRAM to store a display buffer of some sort, this may be useful as a "bonus" loft or swap area for storing multiple versions of your display framebuffer.  The memory up there is not allocated by the linker, so you need to manage it yourself (keep track of which addresses you've used and how much data is stored there).  It's also not possible to reference the data directly by variables, because the MSPGCC compiler used in Energia 12 doesn't support the large-memory model (doesn't produce the 20-bit pointers and appropriate instructions for accessing it directly).  There is a later revision of MSPGCC (developmental) that does support this, but Energia isn't using it.  At some point in the future Energia will use the RedHat msp430-elf-gcc which does support large-memory model, but that'll be a while out I think.   Example sketch using these (writes a stock string to the highmem, then changes 2 bytes before reading it back into an SRAM buffer to be printed over the serial port)- #include <highmem.h> #include <string.h> const char *teststr = "What is this???"; void setup() { // put your setup code here, to run once: pinMode(P4_5, INPUT_PULLUP); delay(10); while (digitalRead(P4_5)) ; // Wait for S1 to be pressed so the user has time to open serial monitor Serial.begin(115200); Serial.println("HighMem test:"); highmem_write(0x10000, teststr, strlen(teststr)+1); // Write stock string to highmem } void loop() { char buf[128]; // put your main code here, to run repeatedly: buf[0] = 'a'; buf[1] = 't'; highmem_write(0x10000+10, buf, 2); // Write 2-byte modification to highmem highmem_read(0x10000, buf, strlen(teststr)+1); // Pull entire string from highmem to 'buf' Serial.print("HighMem string says: "); Serial.println(buf); while(1) delay(1000); } It prints "What is that???" instead of "What is this???", thanks to the modification performed in loop().     3. Edit MSPGCC's linker script for the msp430fr5969 to move "ram" into the FRAM address space.  Note you'll have to move the "rom" linker segment up appropriately to give room for the RAM.   From your Energia install, e.g. C:\energia-0101E0012, the MSPGCC compiler is stored under "hardware\tools\msp430".  The linker scripts live in: C:\energia-0101E0012\hardware\tools\msp430\msp430\lib\ldscripts with a separate directory for each chip.   Go into C:\energia-0101E0012\hardware\tools\msp430\msp430\lib\ldscripts\msp430fr5969 and locate a file called "memory.x". Open this in a text editor, you should see the default contents which look like this:   MEMORY { sfr : ORIGIN = 0x0000, LENGTH = 0x0010 /* END=0x0010, size 16 */ peripheral_8bit : ORIGIN = 0x0010, LENGTH = 0x00f0 /* END=0x0100, size 240 */ peripheral_16bit : ORIGIN = 0x0100, LENGTH = 0x0100 /* END=0x0200, size 256 */ bsl : ORIGIN = 0x1000, LENGTH = 0x0800 /* END=0x1800, size 2K as 4 512-byte segments */ infomem : ORIGIN = 0x1800, LENGTH = 0x0200 /* END=0x1a00, size 512 as 4 128-byte segments */ infod : ORIGIN = 0x1800, LENGTH = 0x0080 /* END=0x1880, size 128 */ infoc : ORIGIN = 0x1880, LENGTH = 0x0080 /* END=0x1900, size 128 */ infob : ORIGIN = 0x1900, LENGTH = 0x0080 /* END=0x1980, size 128 */ infoa : ORIGIN = 0x1980, LENGTH = 0x0080 /* END=0x1a00, size 128 */ ram (wx) : ORIGIN = 0x1c00, LENGTH = 0x0800 /* END=0x2400, size 2K */ rom (rx) : ORIGIN = 0x4400, LENGTH = 0xbb80 /* END=0xff80, size 48000 */ vectors : ORIGIN = 0xff80, LENGTH = 0x0080 /* END=0x10000, size 128 as 64 2-byte segments */ far_rom : ORIGIN = 0x00010000, LENGTH = 0x00004000 /* END=0x00014000, size 16K */ /* Remaining banks are absent */ ram2 (wx) : ORIGIN = 0x0000, LENGTH = 0x0000 ram_mirror (wx) : ORIGIN = 0x0000, LENGTH = 0x0000 usbram (wx) : ORIGIN = 0x0000, LENGTH = 0x0000 } REGION_ALIAS("REGION_TEXT", rom); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_FAR_ROM", far_rom); PROVIDE (__info_segment_size = 0x80); PROVIDE (__infod = 0x1800); PROVIDE (__infoc = 0x1880); PROVIDE (__infob = 0x1900); PROVIDE (__infoa = 0x1980); What we're interested in here is the "ram (wx)" and "rom (rx)" definitions in the MEMORY { } declaration. The default setup puts RAM where it should be; at the Wolverine's 2KB SRAM segment starting at 0x1C00.  The "rom" is actually FRAM, but called "rom" since the main linker scripts are common to all the msp430 targets supported and expect to see the main program memory called "rom".   So for fun, let's move our 2KB RAM segment into FRAM.   It'll look like this:   ram (wx) : ORIGIN = 0x4400, LENGTH = 2048 /* END=0x4C00, size 2K */ rom (rx) : ORIGIN = 0x4C00, LENGTH = 45952 /* END=0xff80, size 48000-2048 = 45952 */ Note I used decimal for the LENGTH part so it's easier to think through.  We're putting our "ram" segment at the start of FRAM, and moving the start of the "rom" segment 2KB higher to compensate, but also telling the linker that its segment is now 2048 bytes (2K) smaller.  This last piece is very important; you'll see errors in compiling if you get it wrong.   Now one of TI's big marketing push is you can partition your FRAM to give more space to RAM vs. code.  Let's say you have a sketch that runs beautifully on the MSP430F5529 LaunchPad with its 8KB available SRAM, but bombs on the Wolverine.  You want to give the Wolverine 8KB RAM too so it'll work right.   It'll look like this:   ram (wx) : ORIGIN = 0x4400, LENGTH = 8192 /* END=0x6400, size 8K */ rom (rx) : ORIGIN = 0x6400, LENGTH = 39808 /* END=0xff80, size 48000-8192 = 39808 */ We put "ram" at the start of FRAM, gave it 8192 bytes (8KB), moved the "rom" segment up by 8KB and shrunk its total length by 8KB.   Note that unfortunately you can't just combine your existing SRAM and FRAM together since they are not contiguous in address space.  SRAM starts at 0x1C00 and ends at 0x2400, where FRAM starts at 0x4400; there is a 0x2000 (8KB) gap between those two.   It's always a good idea to keep the original ram & rom specifiers in that memory.x file but commented out so you can quickly go back to the original configuration.  Here's what it looks like: /* ram (wx) : ORIGIN = 0x1c00, LENGTH = 0x0800 */ /* END=0x2400, size 2K */ /* rom (rx) : ORIGIN = 0x4400, LENGTH = 0xbb80 */ /* END=0xff80, size 48000 */ ram (wx) : ORIGIN = 0x4400, LENGTH = 8192 /* END=0x6400, size 8K */ rom (rx) : ORIGIN = 0x6400, LENGTH = 39808 /* END=0xff80, size 48000-8192 = 39808 */   You can then comment out the 2nd ram/rom definitions and uncomment the first one (notice the "*/" after "LENGTH = " in the first 2 lines) to revert back to the default memory setup.   That said, unless you are just trying to run a sketch that works beautifully on the MSP430F5529 or Tiva-C due to its expansive RAM and won't on the Wolverine, there's probably no reason to hack your linker script when you can just declare big buffers as part of the ".text" section per #1 explained above.
  13. Like
    spirilis reacted to yyrkoon in Strange voltage on RST pin msp430g2553 TSSOP 20 pin   
    Ah right, ok i se it now thanks. Old eyes . . . that are used to reading someone elses schematics
  14. Like
    spirilis reacted to yosh in Custom MSP430-Board for EasyDriver   
    Hi, encouraged by @@bluehash I

  15. Like
    spirilis got a reaction from Sterny in Questions on SFP transceivers in hobbyist projects.   
    Working on a DipTrace footprint & schematic component for the SFP cage and edge connector (going to combine them into the same part since the alignment between the two is supposed to be so tight).

  16. Like
    spirilis reacted to dubnet in No more than 1 hyperlink in post   
    @@spirilis

    When you code your own browser these kinds of bugs are bound to pop up now and then. 
  17. Like
    spirilis reacted to zeke in Questions on SFP transceivers in hobbyist projects.   
    Yes, I am glad someone resurrected this topic. I fell into a black hole of busyness after I posted my replies.
     
    If I were to tackle this hardware design myself, I would:
    - pick the serial port
    - configure it for 1Mbps
    - attach LVDS drivers and receivers to the TX and RX pins
    - connect those LVDS ports to the SFP cage
    - connect the I2C port to the SFP module's diag port
    - write a device driver for the SFP module which uses a state machine to keep track of flags and packets and stuff
    - write a test program that does local and remote loopback.
    - write a test program that acts like a serial port bridge
     
    If the serial port talks too slowly then I would find a faster two wire serial peripheral and repurpose it. How about that serial audio interface port? It's pretty fast. I might have to create a circuit to regenerate the clock signal from the optical signal but that's not uncommon.
     
    I'm just thinking out loud.
  18. Like
    spirilis got a reaction from zeke in Questions on SFP transceivers in hobbyist projects.   
    Lol... Decided to take another look at this thread, as my boss and I were chatting about how many (potentially bad) SFPs we have laying around the office.
     
    So if I'm not mistaken, the SFP has an LVDS interface for the TX and RX side, and you just need an LVDS interface - something like http://www.ti.com/product/ds90lv011a (TX) and http://www.ti.com/product/ds90lv012a (RX) for example (a 400Mbps PHY available for ~$1 at mouser in single qty) - and boom, an LVDS interface you make?
     
    Per https://en.wikipedia.org/wiki/Small_form-factor_pluggable_transceiver - there are lines to disable TX, sense if TX is faulty, and sense if there is no optical RX present.  Sounds simple enough?  Does the transceiver not really give two craps about the speed of the LVDS PHY except for obvious issues that can emerge when you push it to its upper speed limits?  So you could just route the LVDS TTL in/out to the UART, and speak high speed UART over fiber?
    (High-speed differential traces of course respected for the LVDS stuff... luckily my favorite PCB CAD software, DipTrace, now has differential pair management in v3.0+)
     
    Also to make a hobby board out of this I'd need a suitable edge connector for the SFP's.  Unless SFF's are available cheap...
  19. Like
    spirilis got a reaction from zeke in Questions on SFP transceivers in hobbyist projects.   
    I see SFP cage slots aren't hideous - http://www.mouser.com/ProductDetail/Amphenol-Commercial-Products/U77-A1114-100T/?qs=sGAEpiMZZMtLo%252bUrTGGA8Qu%252bjOiyxwrr - and the edge connectors - http://www.mouser.com/ProductDetail/Amphenol-Commercial-Products/UE75A206000T/?qs=sGAEpiMZZMvlX3nhDDO4ADdPO33nqrQcj0jVg%252b39E7Q%3d - also not too expensive.
     
    Damn.  I might have to get this rolling soon.
  20. Like
    spirilis got a reaction from zeke in Questions on SFP transceivers in hobbyist projects.   
    Looking up the datasheet for some of the SFP's I have laying around (potentially bad)-
     
    https://www.finisar.com/sites/default/files/downloads/finisar_ftlf8524p2xny_4.25gbs_rohs_compliant_short-wavelength_sfp_transceiver_product_specification_1.pdf
     
    Finisar FTLF8524P2BNV (from a 4Gbps Brocade ED-48000 fiberchannel switch)
     

     
    Sounds like there are different speed-related modes that are switchable via I2C (OR a GPIO toggle) but there is no "Min" in the bitrate...
  21. Like
    spirilis got a reaction from Sterny in Questions on SFP transceivers in hobbyist projects.   
    I see SFP cage slots aren't hideous - http://www.mouser.com/ProductDetail/Amphenol-Commercial-Products/U77-A1114-100T/?qs=sGAEpiMZZMtLo%252bUrTGGA8Qu%252bjOiyxwrr - and the edge connectors - http://www.mouser.com/ProductDetail/Amphenol-Commercial-Products/UE75A206000T/?qs=sGAEpiMZZMvlX3nhDDO4ADdPO33nqrQcj0jVg%252b39E7Q%3d - also not too expensive.
     
    Damn.  I might have to get this rolling soon.
  22. Like
    spirilis got a reaction from Sterny in Questions on SFP transceivers in hobbyist projects.   
    Looking up the datasheet for some of the SFP's I have laying around (potentially bad)-
     
    https://www.finisar.com/sites/default/files/downloads/finisar_ftlf8524p2xny_4.25gbs_rohs_compliant_short-wavelength_sfp_transceiver_product_specification_1.pdf
     
    Finisar FTLF8524P2BNV (from a 4Gbps Brocade ED-48000 fiberchannel switch)
     

     
    Sounds like there are different speed-related modes that are switchable via I2C (OR a GPIO toggle) but there is no "Min" in the bitrate...
  23. Like
    spirilis reacted to zeke in Questions on SFP transceivers in hobbyist projects.   
    @@Sterny,
     
     
     
    I did a lot of work with SFPs from COTSworks. They take SFPs from other vendors and ruggedize them for aeronautics, military and industrial applications. There's no one else that I know of that does this.  That said, I chose to use their SFF-2G-SX-DPLX-LC-R-A SFP module. The datasheet is right there on the page.
     
    Additionally, I studied everything I could on LVDS, PECL, and other differential signalling standards. Here's a couple of links:
    LVDS Fundementals - Fairchild AN-5017 Interface Guide - Texas Instruments Board Design Guidelines for LVDS Systems - Altera I bring up the above links because you will soon discover that the differential interface is not the same between all SFPs. Some are LVDS, others are PECL and others something else weird.  It's a small detail that is only discovered after you bought a few samples that you can't use >:-(
     
    I faced the above challenge because I ended up using SFF modules which are not exactly the same as SFP modules. An SFF has pins and solders into a pcb.
     
    Here's an excellent summary of SFP characteristics.
     
    The SFP manufacturer that I turn to first is always Finisar. In my world, they are the largest manufacturer of SFPs. I would bet money that Cisco and JDSU get theirs made by Finisar.  I know that COTSworks sometimes ruggedizes a particular Finisar module when their customer requests it.
     
    Here's how I classify SFP modules:
    - Glass:  Singlemode or Multimode?
    - Colour:  1310/1550 nm vs 850/1300 nm?
    - Data rate: OC1/3/12/24/48/192/768 ?
    - Distance: practically infinite (SM) vs 2000/550/220m (MM)
    - Cost: SM is usually two to four times the cost of MM electronics
     
     
    For fun, here are a couple of videos on fiber optics that I think are fantastic:
    The Engineer Guy - Fiber optic cables: How they work The Discovery Channel - How's It's Made: Fiber Optics  
    Back to circuitry...
     
    Here is the Finisar FTLX1371D3BCL transceiver datasheet.  It is stuffed with plenty of details that will help you design an interface for it. Look on page 10. There's your basic interface. There are two sections: Signalling and Control.
     
    The Control interface is power, I/O and I2C. All low speed stuff.
     
    The Signalling interface is filtered power, RX and TX. 
     
    You have to translate your single ended signal into an LVDS differential signal. You could make use of an SN65LVDS050-Q1 since it contains two RX/TX pairs. 
     
    Keep this app note from TI on LVDS Interface circuits.
     
    I hope this helps to get the ball rolling.
  24. Like
    spirilis reacted to chicken in Why is UART BSL not RXD/TXD?   
    Only when consumed socially. Back in the day (.com bubble) my theory was, that ideas from the Friday night pub crawl which you still remembered on Monday morning must have merit.
  25. Like
    spirilis got a reaction from Rei Vilo in I   
    Yeah my memory is rusty but from past deconstruction and reconstruction of the Energia Wire framework, what you're trying to do isn't possible since the handling of the reads happens within the ISR.  Obviously this is the case since there is no specific method within Wire to "end" the transfer, i.e. requestFrom is sufficient all by itself to execute the read operation, and it takes an upfront count argument for how many bytes to read, so it must handle the entire transfer from start to stop by itself, putting it in a temporary buffer that you read when you use Wire.read()
×
×
  • Create New...