Jump to content
43oh

sumotoy

Members
  • Content Count

    10
  • Joined

  • Last visited

About sumotoy

  • Rank
    Member

Contact Methods

  • Website URL
    https://github.com/sumotoy

Profile Information

  • Location
    Milano
  • Interests
    Music
  • Github
    https://github.com/sumotoy

Recent Profile Visitors

723 profile views
  1. I was just thinking the same. I'm just writing a small test that uses pure integer math.
  2. hi, looks like closed by robertinant almost one year ago. I'm confused now, SPISetClockDivider should works as it suppose? It divide the 80Mhz of stellaris or max speed is limited to 24Mhz?
  3. Yes, you right. Doing so I got: ArmMath: 373 uS Math: 302 uS ArmMath it's slightly slower but value comparables.
  4. Thanks for the infos! Btw I just got some useful infos from this thread: http://forum.stellarisiti.com/topic/1984-bug-in-spi-library/ I will check later if this issue has been fixed, SPI it's too much important for my needs!
  5. #include "math.h" #include <CMSIS_DSP.h> inline float dspSqrt(float x){ float result; arm_sqrt_f32(x, &result); return result; } inline float invSqrt(float x) { float halfx = 0.5f * x; float y = x; long i= *(long*)&y; i = 0x5f375a86 - (i>>1); y = *(float*)&i; y = y * (1.5f - (halfx * y * y)); return y; } inline float dspInvSqrt(float x){ float result; arm_sqrt_f32(x, &result); return 1 / result; } void setup() { Serial.begin(9600); delay(1000); } void loop(){ Serial.print("Start\n"); int time; volatile float f; time = mi
  6. I've done this stupid sin test on 80Mhz stellaris: #include <CMSIS_DSP.h> unsigned long stime, etime,tres; float32_t testval; void setup() { Serial.begin(9600); delay(1000); } void loop() { Serial.println("simple test..."); stime = micros(); for (int i=0;i<100;i++){ testval = arm_sin_f32((float32_t)0.1*i); } etime = micros(); tres = etime-stime; Serial.print("ArmMath: "); Serial.print(tres,DEC); Serial.print(" uS\n"); delay(3000); stime = micros(); for (int i=0;i<100;i++){ testval = sin((float32_t)0.1*i); } etime = micros(); tres
  7. Even on Teensy3, in my experiments, I didn't see fantastic speed imprevement using CMSIS library, only slight faster (tested with Sin and Cos) and the rfft create large 32bit lookup tables that uses almost all flash!. I don't know how is the relationship between LM4F internal math coprocessor and CMSIS library but I have the feel it's only related to ARM so the coprocessor it's not working with this library, or I'm wrong? I hope so!
  8. Why not include it at core level? Just for an experiment, I grabbed some files from Teensy3 installation, they are the original CMSIS files with some #define added for compatibility. Using it it straightforward, instead calling #include <CMSIS_DSP.h> you use: #include <arm_math.h> Files to add: hardware.zip
  9. Another question about SPI speed. RA8875 has a SPI speed limit from his Xtal. My TFT (and almost all I seen around) uses 20Mhz Xtal so: Write SPI max speed: 6.67Mhz Read SPI max speed: 3.34Mhz Stellaris has 80Mhz clock so the nearest division parameter will be: Write:SPI_CLOCK_DIV16 (5Mhz) Read:SPI_CLOCK_DIV32 (2.5Mhz) Question is: 1) SPI_CLOCK_DIV works as supposed or there's some missing information that I need to know? 2) I've noticed that F_CPU it's present in energia, can I used it or it's not working correctly for all the MCU's? (note:I will like to modify SPI library to s
  10. Hello, I'm new on Energia but experienced with Teensy3 stuff (that uses Arduino IDE). I've recently coded a library for RA8875 TFT driver chip and since I got from a friend a Stellaris Launchpad that uses LM4F120XL MCU, I decided to include Energia in the chain. The actual beta (0.55) worked very nice with Energia and Stellaris but dunno the other MCU compatible with Energia so maybe someone can check. Here's the test setup, I've used module 3 for SPI. Here's the proof that it's working: During development I (maybe) find a small bug in Energia. I have a println detect code that wo
×
×
  • Create New...