DEVMS Test Plan

All testing here is based on rev 61 or higher.

Item Results Fixed Details
Interface min limits Rollover gets stuck Fixed in rev 62 Using the buttons, see what happens when you go below zero for each displayed mode
Interface max limits Rolls over to zero Using the buttons, see what happens when trying to go beyond the highest value
Verify saw waveform Not biased to zero Fixed in rev 63-64 Make sure the sawtooth waveform counts incrementally. Make sure the min and max values are +DEV to -DEV.
Verify triangle waveform Good Make sure the triangle waveform counts up and back down. Make sure the min and max values are +DEV to -DEV.
Verify sin waveform Good Make sure the sin waveform looks like a sin waveform. Make sure the min and max values are +DEV to -DEV.
Verify sqr waveform Not biased to zero Fixed in rev 63-64 Make sure the square waveform looks like a square wave. Make sure the min and max values are +DEV to -DEV.
Verify rand waveform Good Make sure the random waveform verifies randomly between +(1/2)DEV and -(1/2)DEV.
Verify rtri waveform A spike occurs Still broken Make sure the waveform is a triangle wave and that it starts at different locations in the waveform
Verify rsin waveform Good Make sure the waveform is a sin wave and that is start at different locations in the waveform
Performance Slow Improved 1) Reduce the time period down to zero, then vary the waveforms and listen for an unintentionally lengthened period.
Debug mode Numbers did not show Fixed in rev 63 Press F3 and see if the unit switches to debug mode. Press F3 again and make sure it switches back. Also, make sure the display now updates every cycle instead of every MAX_STEPS cycle
Verify gain control Good Make sure gain increases/decreases the output volume level
Verify volume control Good Make sure volume increases/decreases the output volume level
Verify bass control Good Make sure bass increases/decreases the output bass level
Verify treble control Good Make sure treble increases/decreases the output treble level
Verify period control Good Make sure increasing/decreasing the period causes the changing in waveforms to get slower/faster. A period of ~1000 should change step level about every 1 sec
Verify random period Good Make sure increasing/decreasing the random period causes random changes to the period
Verify deviation control Good Make sure increasing/decreasing the deviation causes the magnitude of distortion changes to get larger
Verify reset Good Turn on debug mode, configure any distortion waveform, press the play/pause button and verify all values return to their defaults

Performance

  1. The system only has a 20MHz cpu and 2M of ram.
  2. After adding the sin function I reached another limit of 200KB for the firmware size. Removing the original recorder.c code from Rockbox freed up the needed space.
  3. Upon completing the sin() function, I could see noticeable slowness in completing each cycle when using a sin() mode.
  4. These items were performed to make things faster
    • Bit shifts were using in place of / 2
    • char and short were used in place of integers
    • The display is now only updated every MAX_STEPS 2) cycle instead of every cycle 3)
    • The method used to control period was redesigned
    • Some waveform optimization was done
  5. At best, these changes only gave a maximum distortion waveform frequency of 10HZ 4) 5)
1) See performance section notes
2) MAX_STEPS = 16 as of rev 64
3) Except in debug mode
4) This has yet to be measured
5) This will vary depending on which waveform is used
/var/www/sites/dokuwiki-2011-05-25a/data/pages/projects/devry/devms_test_plan.txt · Last modified: 2009/04/11 22:23 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki