SixSixSevenSeven 23 Posted May 2, 2014 Share Posted May 2, 2014 Yeah but if he reboots he will have to do it again ... My stellaris and arduino are both functioning many reboot cycles later.... Driver signature enforcement is at install time only, not runtime. Disabling the checks will allow for install. Once the driver is installed you wont have to disable the checks again, it will function normally. Quote Link to post Share on other sites
B@tto 51 Posted May 2, 2014 Author Share Posted May 2, 2014 Try Libusb, you'll tell me after ... @@timb : I'll publish examples codes tomorrow (France time). Very happy to have some help Quote Link to post Share on other sites
timb 15 Posted May 2, 2014 Share Posted May 2, 2014 Awesome! I look forward to it and am happy to help. So, are you working on the underlying CC430 hardware features, like the CC1101 radio and PMAP stuff? (Stuff that will support most of the CC430 family.) If so, I can work on putting together a Chronos library for Energia. Basically I want to port the entire Sportswatch app over, but improved with hardware I2C, RTC_A support, better PM, LCD contrast control, etc. So your exsisting code will be most helpful. (I think we're on the same page here and this will be a most useful collaboration.) Quote Link to post Share on other sites
timb 15 Posted May 3, 2014 Share Posted May 3, 2014 rfBSL Update: Okay, so I've written a Python app (based partial on ChronosTool.py and the iHEX to TI-TXT script [memory.py) from OpenChronos) that takes a .hex file as an input and uploads it over rfBSL. I then used pyInstaller to "compile" the script into a fully self-contained executable for Windows, Linux and OS X. This way the user doesn't need Python (or any additional libraries) installed and we don't have to include the bulky jython (Java Python) interpreter. Each executable weighs in at about 5MB and could be included in the Windows, Linux and Mac specific tools folder of Energia. Once I do some more testing I'll post a copy of the files, but I welcome any feedback on this method. B@tto 1 Quote Link to post Share on other sites
B@tto 51 Posted May 3, 2014 Author Share Posted May 3, 2014 So, are you working on the underlying CC430 hardware features, like the CC1101 radio and PMAP stuff? (Stuff that will support most of the CC430 family.) If so, I can work on putting together a Chronos library for Energia. Basically I want to port the entire Sportswatch app over, but improved with hardware I2C, RTC_A support, better PM, LCD contrast control, etc. It's my purpose built a watch firmware in Energia RTC_A lib is available in library section CC430/CC1101 lib almost finished, I'm adding high level functions. As I said in precedent posts, I got a link between chronos and G2 launchpad + CC1101 module. With the same library and I haven't tested but normaly it would work on Arduino too For LCD I simply reused the one provided by TI. I just did simple ajustments to get it working but I don't find it easy to use so I will work on it to. Quote Link to post Share on other sites
B@tto 51 Posted May 3, 2014 Author Share Posted May 3, 2014 I made a little installation guide : https://github.com/battosai30/CC430_EnergiaSupport I uploaded a very simple program that display hour : https://github.com/battosai30/ez430chronoslib/tree/master/examples/Chronos_test You will need two library, also available in my git (RTC_A and ez430chronoslib) : https://github.com/battosai30/ez430chronoslib https://github.com/battosai30/RTC_A About radio core, you can test this example : https://github.com/battosai30/OPEN_RF The example available is built for a Chronos watch sending an array of byte to a G2 launchpad connected to a CC1101 module, chip select = 10 and GD0 = P1_3 EDIT : I retested radio lib and I don't know why but it doesn't work anymore ... I'm investigating I also tried to interface BMP085 and BMA250. Two fails ... And I discovered that BMA250 is linked to USCI_A0, and Energia use B0 ... So, a day of fails ! EDIT2 : radio is back Quote Link to post Share on other sites
estratos 5 Posted May 3, 2014 Share Posted May 3, 2014 Sorry to join this conversation so late. I know ... But they are adding since severall month so I'm a little bit impatient And doing this I learn a lot of things so, even if we do the same work, they may not support everything at the beginning so I'll be able to add features Have you taken a look at what is being done in the panstamp branch? Most of the work is included in the panstamp library since this gives us more control and lets us release our own updates on top of the latest official release of Energia. Once everything is tested and validated, we'll try to move the RF core functions to Energia's core folder. You'll find that all the RF and low-power features are already covered by the library so you can take whatever you need from there. RTC is also driven from the library as an independent class but T1A3 is covered by a new extern library called Timer1, inspired in a similar library for Arduino. panStamp relies on Rick Kimball's GDB bootloader for serially loading new firmware from Energia and I'm also working on a wireless bootloader for OTA upgrades. Apart from that, our port still lacks support for AES encryption and some high-level stuff related to SWAP, our open source wireless protocol. I've been talking with Robert Wessels and the panstamp port should be included in the next official release of Energia. Regarding your Chronos port, I worked with OpenChronos some time ago and replaced all the SimpliciTI stuff by SWAP. This let us do some fancy control of SWAP-based equipment from the Chronos: The issue about OpenChronos and other Chronos-related firmware is that, after covering all the typical watch functions and also all the peripheral sensor functions, there is very little place for custom applications. even though, having the ability to build the entire project from Energia would be awesome. I'll be following this thread form now on guys. Quote Link to post Share on other sites
timb 15 Posted May 3, 2014 Share Posted May 3, 2014 I'm using OpenChronos-ng as a base for my port and selectively merging in various improvements from all the forks people have done. Everything will be modular, so you can use it as a base for your own projects. There should be a lot of room for user functions on top of the basic watch functions when I'm done! Even the RF protocol will be modular so you don't have to use SimpliciTI. (Speaking of which, I'm adding support for SimpliciTI configuration via SmartRF Studio. So you can graphically configure your settings and just drop the exported file in with your sketch!) Sent from my iPhone Quote Link to post Share on other sites
B@tto 51 Posted May 4, 2014 Author Share Posted May 4, 2014 @@estratos : thanks for your intervention. Of course I looked to panstamp branch but unfortunely I did not find what I was looking for xD but as I said before, as I work on building lib for chronos it's so much easier to understand panstamp code now. And be carreful using rf1a.h, I noticed some TI mistakes ... About RTC : as I understand you only use it as a timer for sleep functions. Mine enables all features About radio : I don't know why but when I started to study CC1101 and CC430 I couldn't get something working (certainly my fault). I didn't dig more because I like to know what I want and I wanted to add some features that were not present. And know CC1101/CC430 almost has no secret for me xD So I'm more impatient know about all the publications you're talking about Talking about panstamp, is it possible to get a kamikaze board ? Quote Link to post Share on other sites
B@tto 51 Posted May 5, 2014 Author Share Posted May 5, 2014 Finally find my current leak : it was very simple to solve : WDTCTL = WDTPW | WDTHOLD; In setup(). I forgot this is an obligation to disable watchdog if you want to go low power. I updated RTC_A and ez430Chronoslib examples. Now current consumption displaying hour is ~46 Quote Link to post Share on other sites
timb 15 Posted May 6, 2014 Share Posted May 6, 2014 Awesome! So last night, I started building a test jig for one of my Chronos units. The idea is to make it easier to access the buttons, vary the VBATT voltage (for testing the battery meter), monitor current consumption and have access to the buzzer without the back cover on. First off, here's a few pictures of the back side of the board and the display components. Here's the test jig! In the first picture you can see I drilled two holes up top of the jig PCB for the inductors to fit through so the watch board lays flat. There's also four holes for zip ties to fit through. On the watch PCB itself you can see I've soldered on wires for all five switches, the buzzer plus GND and VBATT. The next step is to add some buttons, a buzzer and a variable voltage regulator. Quote Link to post Share on other sites
B@tto 51 Posted May 6, 2014 Author Share Posted May 6, 2014 Nice ! I was curious to see how it is inside. I don't know if you tested that but it was very hard to hear a sound from the buzzer. As I think about it now, I didn't explorate a drive strength issue ... I'll try this morning. I didn't mentionned it but monitor battery voltage is very easy using my pins_energia.h : analogReference(INTERNAL2V5); VBAT = analogRead(A11); I found another thing to take account and in some way it's a good news : if you supply chronos via prog interface, a little amount of current is sinked by the pull down resistor of the supply switching system mosfet. It's a 100k resistor, 3.6V supply = ~36 Quote Link to post Share on other sites
timb 15 Posted May 6, 2014 Share Posted May 6, 2014 Good to hear about the current consumption! Tonight I got the buttons soldered down, the buzzer installed and I hand made a helical antenna tuned to 433MHz. Just have to get the power supply on this afternoon and she'll be ready to roll! Rei Vilo 1 Quote Link to post Share on other sites
B@tto 51 Posted May 6, 2014 Author Share Posted May 6, 2014 Measures confirmed. I also found two bugs in my RTC_A lib : I forgot to add LPM3_EXIT in RTC interruption, so after LPM3 command, nothing was executed. And my function GetSecond(), GetMinute() ... used a wrong while() condition to check if reading was safe causing a wrong reading and an extra consumption. I discovered another strange thing : if I don't call lcd_init(), current consumption starts at ~6 Quote Link to post Share on other sites
jpnorair 340 Posted May 6, 2014 Share Posted May 6, 2014 Tonight I got the buttons soldered down, the buzzer installed and I hand made a helical antenna tuned to 433MHz. How did you design this antenna? Using a helical winding is a difficult way to build an antenna. You need to determine the impedance and make sure that it is the proper terminating impedance, which is largely an experimental process. Generally speaking, however, the total uncoiled length of an inductively loaded wire antenna is quite a bit longer than the equivalent straight-wire antenna. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.