Jump to content
43oh

tripwire

Members
  • Content Count

    193
  • Joined

  • Last visited

  • Days Won

    14

Reputation Activity

  1. Like
    tripwire reacted to greeeg in GPS logger for a local Beagle club   
    Polyurethane parts have come up nicely.
     

     
    Main advantages of this method of rapid prototyping
    Part cost is low these use about $0.05 of polyurethane resin. Parts can easily be coloured using dyes. (as demonstrated) Very little time needed for each cast (about 5 minutes) 1-2 Hour cure time 1-1 replica to original part. Of course you need to invest the time and money to make the silicone molds to begin with. So for a single part 3d printing is often the preferred approach.
     


     
    The parts are a perfect fit over the button and LEDs.
     

     
     
  2. Like
    tripwire reacted to rhb in Energia-1.6.10R18 Windows failure   
    I'm in the process or setting up a new Windows image, so I'll move the installation location when I finish that.  However, I should point out that E17 is installed in the same directory (C:\Program Files (x86)\Energia\) and it works fine.
     
    The build of the Gnu toolchains against glibc is quite a nuisance.  CentOS 6.7 only has 2.12 available.  CentOS 7 and Ubuntu 12.4 & 14.4 don't function properly on the HP system I was using for Linux installs. Yes, it's a headache.  That's why I avoid Linux almost as much as I avoid Windows.  But you have to work with what's out there, not dictate system configurations that break other packages.  I chose CentOS 6.x because it worked with all the toolchains I was installing when I setup to do embedded work.
     
    Energia is repackaging the Arduino IDE for TI chips.  While I understand the commercial motivation for removing Atmel based boards,  I think it short sighted.  Could we just leave them in?  The board manager should make it easy to support a wide range of boards.  The only reason I see for using the Atmel boards is price.  I don't care for the architecture, but I don't think it's that bad.  That may change once I have more experience with them.  I've been using TI products.
  3. Like
    tripwire reacted to energia in Energia-1.6.10R18 Windows failure   
    As per @@Rei Vilo's comment. The current MSP430 GCC compiler does not allow for spaces in the path. This will be fixed in the next couple weeks when I introduce an updated msp430 package through the board manager that includes a new compiler that no longer has this issue.
     
    As for the obscene 404 error, I have been looking into this for a couple weeks but have not been able to trace the root cause of it. The webserver has been cleaned of the invection but it seems that Google has kept a cache of the energia.nu page and is showing the obscene error message from cache. If the issue persists then I am going to take down energia.nu and put up a static webpage rather than the wordpress backed pages until I can get to the bottom of this.
     
    The "failed to rename the startup scripts  from "arduino" to "energia"" could be a bug. I'll look into this and release an updated version for Linux. It should not be an issue with OS X and Windows though.
     
    Robert
  4. Like
    tripwire reacted to greeeg in GPS logger for a local Beagle club   
    Thanks, But don't be fooled. My setup takes quite awhile to setup. And I'm still learning all the time, The first pass I made on this cutout skipped steps somehow, ruining this enclosure.
    I'd love to own some better tools But I'm going to make use of what I have right now.
     
    But I took the opportunity to try some cool stuff. (note the mis-aligned cutouts at the bottom and the duplicates on the far side.)

     
    Infill on my engravings and engraved pixel fonts!

     
    Getting the hang of F360, slowly.


     
    Working on some custom parts now. Using a molding technique using milled ren-shape, silicone and polyurethane.
    Mold model

     
    Blank ren-shape

     
    Mid milling

  5. Like
    tripwire reacted to Rei Vilo in String class for energia   
    Energia includes the String object from the Arduino / Wiring framework.
     
    Please refer to http://energia.nu/reference/stringobject/
  6. Like
    tripwire reacted to energia in String class for energia   
    libstdc++ is not available in the current msp430-gcc compiler. As Rei Vilo suggested. I would use the Arduino / Wiring String class included in Energia. Be careful with using this class on devices with small RAM sizes since it does malloc/realloc/free which will fragment RAM and eventually fail to alloc due to fragmentation.
  7. Like
    tripwire reacted to greeeg in GPS logger for a local Beagle club   
    Got my enclosures today. That means I now have all the hardware parts for this batch.
     
    I've been playing around with Fusion 360 instead of Rhino, mainly due to the integrated CAM processor. Also it has easy to use rendering stuff out of the box too.
     
    This is the reason I love companies that provide 3d CAD files. I can define some simple stroke text, and Fusion 360 will project it over the 3d curvature of the part.

     
    My CNC setup is in dis-array. The setup is sub optimal.

     
    But I think the results speak for themselves.

     
    I want to experiment with filling the engravings with a paint to make them stand out.
  8. Like
    tripwire reacted to greeeg in GPS logger for a local Beagle club   
    Went through and soldered up a batch of new PCBs


     
    Paneling PCBs made this process much fast.
    I'm still using my manual PnP which isn't very fast or accurate, especially after a few coffees.

  9. Like
    tripwire reacted to greeeg in GPS logger for a local Beagle club   
    @Fred It would be nice to see how much of a performance gain I get with/without. The LNA is already designed to only amplify within the range of GPS + GLONASS frequencies. As mentioned just bypassing the filter with a bodge wire seems to work quite well.
     

     
    I did a very quick side by side test, and the new uBlox MAX M8Q with a 25x25mm antenna shows twice the satellites than the old g-top modules, all with improved signal strength.
     
    For reference here is a comparison of the path antenna sizes.

    (Left to right: 12x12mm, 25x25mm, 35x25mm)
     
    The 35x35mm was in stock at digikey so I bought 2 to play around with and compare. The 25x25mm is what I plan to use for this version.
     
  10. Like
    tripwire reacted to Chewy175 in Project ideas.   
    @@cubeberg We can use anything that's freely available in the labs so yes cardboard, paper etc. we just cant order any components in as they probably wouldn't arrive in time for us to test and use them. We are expected to implement our design on veroboard and we have breadboards and other things to test any designs we make.
     
    @@enl thanks for explaining the 4017 and as for the ideas, I think we're going to try to make pedestrian crossing of sorts with the LEDs, the display and the buzzer.
  11. Like
    tripwire reacted to chicken in generate pulse with the help of timer   
    Your program doesn't make any sense as is. You have counter variables that are never counted up or down. I think you copied a program that you don't understand. Someone from a forum rewriting it for you won't help you achieve your goal.
     
    My suggestion is to either start from scratch and build the program step by step, or at least try to understand how the original is supposed to work before you change it:
    https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/529768
     
    I see that Dennis tried to be really helpful on E2E but ultimately lost patience. Starting from scratch with Energia or a beginners tutorial might be your best bet.
  12. Like
    tripwire reacted to chicken in generate pulse with the help of timer   
    Then try to fix the warnings. The if statement I mentioned above probably does not what you expect. It will always set output_control to 1.
  13. Like
    tripwire reacted to greeeg in GPS logger for a local Beagle club   
    The 5 units in the field have been working quite well. I've been learning alot, Typically my projects have been on the prototype scale. Even just stepping up to 5 or 10 makes you think about small optimizations in the design phase.
     
    The GPS modules were chosen because they had integrated antennas, and were cheap! (very cheap!) ($12 from Chinese sources) this helped keep the overall unit cost low. but obviously had some unforeseen issues. One of the 5 units is much less sensitive to GPS as the others, I'm scheduled to have the units back to look into this. The eratic / jerky motion of the dogs isn't what the units are designed for and ocassionally the track will "jump" by 50-100m in N/S/E/W direction for a solid 60 seconds before "jumping" back. This means the tracks recorded sometimes are not the true path the dog took.
     
    Lastly the compact design of the GPS module likely sacrifices antenna size for portability. This has also resulted in the units taking awhile to get an initial lock. Even for hot starts. (about 60 seconds)
     
    To address these issues I'm redesigning the device with some changes based on feedback from v1.0
     
    Here is a photo of the newly designed PCBs. I need 10 units, so I've made a panel of 2 so that I can leverage cheap 10x10cm prototype PCB fabs.

     
    Changes from v1.0
    Moved all components possible to backside of PCB. (These will be hand placed and re-flowed) Changed to 4 layer PCB, this means we can have a continuous ground plane behind the GPS antenna. Changed to a uBlox Max6/7/8 footprint (Plan to use the MAX8 fro GPS + GLONASS) Added solder pin GPS antenna and LNA + BPF Minor changes to passives Added inline resistors to data lines of GPS + SD to reduce noise Using split ground plane to isolate noise (not an ideal layout, but there isn't much room to play with) I have kept the same MSP430F5514 to enable cross compatible code between hardware v1.0 and v2.1
     
    PCB are at the fabs and parts have been ordered. The GPS antennas I'm using will be 25x25 which is a big step up from 12x12 on the old modules. Hopefully we see an improvement.
  14. Like
    tripwire reacted to NurseBob in GITHUB Library edit/update etiquette?   
    While working with Mikal Hart's IridiumSBD library I ran into a problem if I tried sending a message that exceeded 120 characters in length.  Considering I'd paid $250 for the transceiver which claims a 340 character message capability, I was a bit frustrated, to say the least. FWIW, Sparkfun support was responsive, though not clear on the solution. However, after spending time doing the requisite RTFM, coupled with examining the code, I realized that the library didn't check, or account for, two different versions of the AT+SBDWT command.  If the command AT+SBDWT= is issued, followed by a text string, the limit is 120 characters, and anything longer generates an "ERROR" response.  If, instead, an AT+SBDTW command, no "=" sign, is issued, the device responds with "READY" and expects a text string of up to 340 characters (within 60 seconds), and on success issues a "0" response.
    Mikal's code doesn't check the length of the submitted string, and triggers an error, but with no other explanation.
    I added a test for the string length (it's included in the function call) to select the appropriate command, as well as adding a new error code indicating a message length error.
    Given that I consider my programming skils at the beginner+ level (it's been almost 20 years since I was a "professional"), I hesitate to update the library on github.
    What's the best approach to save others the hours I spent tracking this down???
     
    Bob
  15. Like
    tripwire reacted to yyrkoon in GITHUB Library edit/update etiquette?   
    You could fork the project and then start off on your own branch. Perhaps at some point contacting the github maintainer for a push. But you do not need any permission to just fork, and start off on your own branch. Assuming the software license permits.
     
    Additionally, you could also just clone the git, and branch it locally, then get permission to push( merge ) your commits( branch ) back into the main project. Personally, I liek the first option better, but to be honest. I'm not sure if the first option is best for merging branches back into the main branch or not . . . I'm not exactly a git guru
     
    EDIT:
     
    By the way, these posts should probably be moved to a different section of the forum. As perhaps this library is Energia specific ? But the questions here have nothing to do with Energia.
  16. Like
    tripwire reacted to Rickta59 in Porting Arduino code to MSP   
    Show me a successful compile of that code without modification and I'll eat my msp430 launchpad.
     
    Those registers are specific to an AVR Atmega processor. There isn't any macro magic that is going to magically convert code written for an AVR Timer peripheral to an msp430 TimerA peripheral.  You often see this problem with Arduino code and libraries. They often mix the arduino API with direct register access that is specific to AVR Atmega.  That code wouldn't compile for any of the ARM Arduinos boards either.
     
    Here is a link that talks about using the AVR Timer peripherals:
     
    http://www.avrbeginners.net/architecture/timers/timers.html#tccrb
     
    The rest of the code in that sketch is just using the Arduino API calls and those will do the right thing if you use Energia. It is just a matter of figuring out what they are doing with the AVR timer and writing msp430 specific code to do that same thing.
     
    -rick
     
    [Edit] I compiled on arduino for the arudino uno .. it worked fine ... I then switched over to an Arduino Zero (cortex-m0 arduino board ) and got these compiler errors:

    /home/kimballr/github/Arduino/build/linux/work/arduino-builder -compile -logger=machine -hardware "/home/kimballr/github/Arduino/build/linux/work/hardware" -hardware "/home/kimballr/.arduino15/packages" -hardware "/home/kimballr/Arduino/hardware" -tools "/home/kimballr/github/Arduino/build/linux/work/tools-builder" -tools "/home/kimballr/github/Arduino/build/linux/work/hardware/tools/avr" -tools "/home/kimballr/.arduino15/packages" -built-in-libraries "/home/kimballr/github/Arduino/build/linux/work/libraries" -libraries "/home/kimballr/Arduino/libraries" -fqbn=arduino:samd:arduino_zero_edbg -ide-version=10610 -build-path "/tmp/build5ee809432791192f56b7e3894654fc94.tmp" -warnings=more -prefs=build.warn_data_percentage=75 -verbose "/home/kimballr/Arduino/sketch_jul12a/sketch_jul12a.ino" Build options changed, rebuilding all "/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Zero"' "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/CMSIS/Include/" "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/Device/ATMEL/" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/cores/arduino" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/variants/arduino_zero" "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/sketch/sketch_jul12a.ino.cpp" -o "/dev/null" "/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Zero"' "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/CMSIS/Include/" "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/Device/ATMEL/" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/cores/arduino" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/variants/arduino_zero" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI" "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/sketch/sketch_jul12a.ino.cpp" -o "/dev/null" "/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Zero"' "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/CMSIS/Include/" "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/Device/ATMEL/" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/cores/arduino" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/variants/arduino_zero" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI" "/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI/SPI.cpp" -o "/dev/null" "/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Zero"' "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/CMSIS/Include/" "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/Device/ATMEL/" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/cores/arduino" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/variants/arduino_zero" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI" "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/sketch/sketch_jul12a.ino.cpp" -o "/dev/null" "/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Zero"' "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/CMSIS/Include/" "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/Device/ATMEL/" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/cores/arduino" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/variants/arduino_zero" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI" "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/sketch/sketch_jul12a.ino.cpp" -o "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/preproc/ctags_target_for_gcc_minus_e.cpp" "/home/kimballr/github/Arduino/build/linux/work/tools-builder/ctags/5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/preproc/ctags_target_for_gcc_minus_e.cpp" "/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -Wall -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x804d -DUSBCON '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Zero"' "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/CMSIS/Include/" "-I/home/kimballr/.arduino15/packages/arduino/tools/CMSIS/4.0.0-atmel/Device/ATMEL/" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/cores/arduino" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/variants/arduino_zero" "-I/home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI" "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/sketch/sketch_jul12a.ino.cpp" -o "/tmp/build5ee809432791192f56b7e3894654fc94.tmp/sketch/sketch_jul12a.ino.cpp.o" /home/kimballr/Arduino/sketch_jul12a/sketch_jul12a.ino: In function 'void setup()': sketch_jul12a:86: error: 'TCCR1B' was not declared in this scope TCCR1B &= B11111000; ^ sketch_jul12a:88: error: 'TCCR2B' was not declared in this scope TCCR2B &= B11111000; ^ Using library SPI at version 1.0 in folder: /home/kimballr/.arduino15/packages/arduino/hardware/samd/1.6.5/libraries/SPI exit status 1 'TCCR1B' was not declared in this scope And using energia .. more or less the same thing from the msp430-g++ compiler
    /mnt/vbox/shared/github/Energia/build/linux/work/hardware/tools/msp430/bin/msp430-g++ -c -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430fr5969 -DF_CPU=16000000L -MMD -DARDUINO=101 -DENERGIA=17 -g -I/mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430 -I/mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/variants/launchpad_fr5969 -I/mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/libraries/SPI /tmp/build7126674554918674956.tmp/sketch_jul12a.cpp -o /tmp/build7126674554918674956.tmp/sketch_jul12a.cpp.o [/mnt/vbox/shared/github/Energia/build/linux/work/hardware/tools/msp430/bin/msp430-g++, -c, -Os, -Wall, -ffunction-sections, -fdata-sections, -mmcu=msp430fr5969, -DF_CPU=16000000L, -MMD, -DARDUINO=101, -DENERGIA=17, -g, -I/mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/cores/msp430, -I/mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/variants/launchpad_fr5969, -I/mnt/vbox/shared/github/Energia/build/linux/work/hardware/msp430/libraries/SPI, /tmp/build7126674554918674956.tmp/sketch_jul12a.cpp, -o, /tmp/build7126674554918674956.tmp/sketch_jul12a.cpp.o] sketch_jul12a.cpp: In function 'void setup()': sketch_jul12a.cpp:85:3: error: 'TCCR1B' was not declared in this scope sketch_jul12a.cpp:87:3: error: 'TCCR2B' was not declared in this scope -rick
  17. Like
    tripwire reacted to zeke in Wanted: DIY sensor waterproofing ideas   
    @@tripwire
     
    Since you are trying to measure the ambient pressure with your sensor then you will have to allow the air pressure to equalize between the inside and the outside of the water proof container.
     
    This is normally accomplished with a Gore membrane. They are water proof yet they allow air molecules to pass through both ways.
  18. Like
    tripwire reacted to abecedarian in Wanted: DIY sensor waterproofing ideas   
    Should be able to find a NEMA 3 or 4 enclosure fairly easily, then have a small hole (1/2" or so) at the bottom covered with Gore-Tex. Gore-Tex is breathable so shouldn't affect actual air pressure and humidity readings but also helps prevent sizeable moisture droplets from permeating the fabric; drips and splashed water shouldn't enter but forced spray from a hose might.
  19. Like
    tripwire reacted to enl in Wanted: DIY sensor waterproofing ideas   
    Basic guidelines would dictate that if it can't be hermetically sealed, then it needs to shed water and breath. If attitude can be guaranteed, then an open or screened/perforated bottom should do.
     
    As a totally different thought, that I have not tried yet, a full hydrophobic coating might do the job, like one of the relatively new hydrophobic coatings for driveways/sidewalks.
     
    Or, go old school. Tie the thing up in a condom. The urethane ones hold up well over time, better than the latex ones, and are a bit tougher. A dab of silicone on the sensor wire at the appropriate location before a zip tie around the opening. As long as it is not drum tight (some slack) and has little air in it, it shouldn't effect pressure readings. The Sensortag may be a little too big for this, but similar solutions can be worked out with other schema, like a silk/rayon bag coated with tent waterproofing spray, whatever that is called these days (I don't camp much anymore, so it has been a number of years since I had to use the stuff). Again, if there is a bit of slack, it shouldn't significantly affect pressure readings.
  20. Like
    tripwire reacted to chicken in G2553 I2C SCL/INT combined?   
    In more detail, now that I looked at the MSP430G2553 datasheet:
     
    To use I2C, the TI library will set bit 5 and 6 in P1SEL and P1SEL2 to connect these pins with the USCB0 peripheral. See table 19.
     
    Looking at the schematic on the previous page, P1SEL and P1SEL2 are connected through an OR gate to the active low enable pin of the interrupt logic. I.e. if one of the two is high, there will be no interrupts.

     
    You could manually clear bit 6 in P1SEL and P1SEL2 when you are waiting for the INT signal, and set them again before start using I2C.
  21. Like
    tripwire reacted to USWaterRockets in Have feedback for TI? Please share here.   
    When your main competitor has super cheap uCs with a handful of I/Os that have USB built-in, adding a FTDI part that costs as much as their whole uC does is really not helping us much. Now, if they think USB is obsolete because of IoT or something, then make a MSP432 with a built-in wireless bridge that's simple to use and doesn't require the user build and link the stacks.
     
    I'd really love to do something with the SensorTag, but the software and documentation are a mess, and the part is not low cost unless you buy 10 billion of them.
  22. Like
    tripwire reacted to chicken in Have feedback for TI? Please share here.   
    @@abecedarian No worries, the MSP430 USB peripherals and libraries handle that nicely. You can query the USB status (connected, suspended, enumerating etc.).
     
    The main request is, that TI offers more MSP430/432's with USB peripheral. I think right now USB is only available in the MSP430F55xx family. It seems that with all the IOT hype, some manufacturers assume that USB is becoming obsolete.
  23. Like
    tripwire got a reaction from abecedarian in Bitshift problem   
    This is down to the subtleties of integral promotions in C. The standard says this for the bitwise shift operators:
     
    "The integral promotions are performed on each of the operands.  The type of the result is that of the promoted left operand.  If the value of the right operand is negative or is greater than or equal to the width in bits of the promoted left operand, the behavior is undefined."
     
    Integral promotion can "widen" a type as far as unsigned int, which is 16 bits on MSP430. The RHS of the shift is 16, so that means undefined behaviour; in this case that seems to mean (100 << 16) == 100.
  24. Like
    tripwire got a reaction from Fmilburn in Bitshift problem   
    This is down to the subtleties of integral promotions in C. The standard says this for the bitwise shift operators:
     
    "The integral promotions are performed on each of the operands.  The type of the result is that of the promoted left operand.  If the value of the right operand is negative or is greater than or equal to the width in bits of the promoted left operand, the behavior is undefined."
     
    Integral promotion can "widen" a type as far as unsigned int, which is 16 bits on MSP430. The RHS of the shift is 16, so that means undefined behaviour; in this case that seems to mean (100 << 16) == 100.
  25. Like
    tripwire reacted to Fmilburn in Bitshift problem   
    What happens if we do this instead?
    void setup() { long a; byte b = 100; Serial.begin(9600); a = (long)( << 16; Serial.println(a); } void loop() { // put your main code here, to run repeatedly: }
×
×
  • Create New...