forked from arduino/Arduino
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'testsuitelibrary' of https://github.com/ricklon/Arduino
- Loading branch information
Showing
10 changed files
with
1,734 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
//************************************************************************ | ||
//************************************************************************ | ||
//* Aug 31, 2010 <MLS> Started on TestArduino | ||
//************************************************************************ | ||
|
||
#ifndef _AVR_IO_H_ | ||
#include <avr/io.h> | ||
#endif | ||
|
||
#ifndef WProgram_h | ||
#include "WProgram.h" | ||
#endif | ||
#ifndef HardwareSerial_h | ||
#include "HardwareSerial.h" | ||
#endif | ||
|
||
|
||
#if defined(USART3_RX_vect) | ||
#define SERIAL_PORT_COUNT 4 | ||
#elif defined(USART1_RX_vect) | ||
#define SERIAL_PORT_COUNT 2 | ||
#else | ||
#define SERIAL_PORT_COUNT 1 | ||
#endif | ||
|
||
|
||
void ATS_begin(char *manufName, char *testSuiteName); | ||
void ATS_end(); | ||
|
||
void ATS_PrintTestStatus(char *testString, boolean passed); | ||
boolean ATS_Test_DigitalPin(uint8_t digitalPinToTest); | ||
boolean ATS_Test_PWM_Pin(uint8_t digitalPinToTest); | ||
boolean ATS_Test_AnalogInput(uint8_t analogPintoTest); | ||
boolean ATS_Test_EEPROM(void); | ||
|
||
short ATS_TestSerialLoopback(HardwareSerial *theSerialPort, char *serialPortName); | ||
|
||
|
||
int ATS_GetFreeMemory(); | ||
|
||
//************************************************************************ | ||
//* this has to be an inline function because calling subroutines affects free memory | ||
inline void ATS_ReportMemoryUsage(int _memoryUsageAtStart) | ||
{ | ||
int freeMemoryAtEnd; | ||
int lostMemory; | ||
boolean memoryOK; | ||
char memoryUsage[48]; | ||
|
||
freeMemoryAtEnd = ATS_GetFreeMemory(); | ||
lostMemory = _memoryUsageAtStart - freeMemoryAtEnd; | ||
if (lostMemory == 0) | ||
{ | ||
strcpy(memoryUsage, "Memory Usage"); | ||
memoryOK = true; | ||
} | ||
else | ||
{ | ||
sprintf(memoryUsage, "Memory Usage (lost %d bytes)", lostMemory); | ||
memoryOK = false; | ||
} | ||
ATS_PrintTestStatus(memoryUsage, memoryOK); | ||
} | ||
|
||
|
||
|
||
extern unsigned long gTestStartTime; | ||
extern int gYotalErrors; | ||
extern int gTestCount; | ||
|
||
|
||
#define PASSED true | ||
#define FAILED false | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
//************************************************************************************************** | ||
//* | ||
//* Atmel AVR CPU name strings | ||
//* | ||
//************************************************************************************************** | ||
//* Sep 19, 2010 <MLS> Started on avr_cpunames.h | ||
//************************************************************************************************** | ||
|
||
//#include "avr_cpunames.h" | ||
|
||
//************************************************************************************************** | ||
|
||
|
||
#if defined (__AVR_AT94K__) | ||
#define _AVR_CPU_NAME_ "AT94k" | ||
#elif defined (__AVR_AT43USB320__) | ||
#elif defined (__AVR_AT43USB355__) | ||
#elif defined (__AVR_AT76C711__) | ||
#elif defined (__AVR_AT86RF401__) | ||
#elif defined (__AVR_AT90PWM1__) | ||
#elif defined (__AVR_AT90PWM2__) | ||
#elif defined (__AVR_AT90PWM2B__) | ||
#elif defined (__AVR_AT90PWM3__) | ||
#elif defined (__AVR_AT90PWM3B__) | ||
#elif defined (__AVR_AT90PWM216__) | ||
#elif defined (__AVR_AT90PWM316__) | ||
#elif defined (__AVR_ATmega32C1__) | ||
#elif defined (__AVR_ATmega32M1__) | ||
#elif defined (__AVR_ATmega32U4__) | ||
#define _AVR_CPU_NAME_ "ATmega32U4" | ||
#elif defined (__AVR_ATmega32U6__) | ||
#define _AVR_CPU_NAME_ "ATmega32U6" | ||
#elif defined (__AVR_ATmega128__) | ||
#define _AVR_CPU_NAME_ "Atmega128" | ||
#elif defined (__AVR_ATmega1280__) | ||
#define _AVR_CPU_NAME_ "ATmega1280" | ||
#elif defined (__AVR_ATmega1281__) | ||
#define _AVR_CPU_NAME_ "ATmega1281" | ||
#elif defined (__AVR_ATmega1284P__) | ||
#define _AVR_CPU_NAME_ "ATmega1284" | ||
#elif defined (__AVR_ATmega2560__) | ||
#define _AVR_CPU_NAME_ "ATmega2560" | ||
#elif defined (__AVR_ATmega2561__) | ||
#define _AVR_CPU_NAME_ "ATmega2561" | ||
#elif defined (__AVR_AT90CAN32__) | ||
#define _AVR_CPU_NAME_ "AT90CAN32" | ||
#elif defined (__AVR_AT90CAN64__) | ||
#define _AVR_CPU_NAME_ "AT90CAN64" | ||
#elif defined (__AVR_AT90CAN128__) | ||
#define _AVR_CPU_NAME_ "AT90CAN128" | ||
#elif defined (__AVR_AT90USB82__) | ||
#define _AVR_CPU_NAME_ "AT90USB82" | ||
#elif defined (__AVR_AT90USB162__) | ||
#define _AVR_CPU_NAME_ "AT90USB162" | ||
#elif defined (__AVR_AT90USB646__) | ||
#define _AVR_CPU_NAME_ "AT90USB646" | ||
#elif defined (__AVR_AT90USB647__) | ||
#define _AVR_CPU_NAME_ "AT90USB647" | ||
#elif defined (__AVR_AT90USB1286__) | ||
#define _AVR_CPU_NAME_ "AT90USB1286" | ||
#elif defined (__AVR_AT90USB1287__) | ||
#define _AVR_CPU_NAME_ "AT90USB1287" | ||
#elif defined (__AVR_ATmega64__) | ||
#define _AVR_CPU_NAME_ "ATmega64" | ||
#elif defined (__AVR_ATmega640__) | ||
#define _AVR_CPU_NAME_ "ATmega640" | ||
#elif defined (__AVR_ATmega644__) | ||
#define _AVR_CPU_NAME_ "ATmega644" | ||
#elif defined (__AVR_ATmega644P__) | ||
#define _AVR_CPU_NAME_ "ATmega644P" | ||
#elif defined (__AVR_ATmega645__) | ||
#define _AVR_CPU_NAME_ "ATmega645" | ||
#elif defined (__AVR_ATmega6450__) | ||
#define _AVR_CPU_NAME_ "ATmega6450" | ||
#elif defined (__AVR_ATmega649__) | ||
#define _AVR_CPU_NAME_ "ATmega649" | ||
#elif defined (__AVR_ATmega6490__) | ||
#define _AVR_CPU_NAME_ "ATmega6490" | ||
#elif defined (__AVR_ATmega103__) | ||
#define _AVR_CPU_NAME_ "ATmega103" | ||
#elif defined (__AVR_ATmega32__) | ||
#define _AVR_CPU_NAME_ "Atmega32" | ||
#elif defined (__AVR_ATmega323__) | ||
#define _AVR_CPU_NAME_ "ATmega323" | ||
#elif defined (__AVR_ATmega324P__) | ||
#define _AVR_CPU_NAME_ "ATmega324P" | ||
#elif defined (__AVR_ATmega325__) | ||
#define _AVR_CPU_NAME_ "ATmega325" | ||
#elif defined (__AVR_ATmega325P__) | ||
#define _AVR_CPU_NAME_ "ATmega325P" | ||
#elif defined (__AVR_ATmega3250__) | ||
#define _AVR_CPU_NAME_ "ATmega3250" | ||
#elif defined (__AVR_ATmega3250P__) | ||
#define _AVR_CPU_NAME_ "ATmega3250P" | ||
#elif defined (__AVR_ATmega328P__) | ||
#define _AVR_CPU_NAME_ "ATmega328P" | ||
#elif defined (__AVR_ATmega329__) | ||
#define _AVR_CPU_NAME_ "ATmega329" | ||
#elif defined (__AVR_ATmega329P__) | ||
#define _AVR_CPU_NAME_ "ATmega329P" | ||
#elif defined (__AVR_ATmega3290__) | ||
#define _AVR_CPU_NAME_ "ATmega3290" | ||
#elif defined (__AVR_ATmega3290P__) | ||
#define _AVR_CPU_NAME_ "ATmega3290P" | ||
#elif defined (__AVR_ATmega32HVB__) | ||
#define _AVR_CPU_NAME_ "ATmega32HVB" | ||
#elif defined (__AVR_ATmega406__) | ||
#define _AVR_CPU_NAME_ "ATmega406" | ||
#elif defined (__AVR_ATmega16__) | ||
#define _AVR_CPU_NAME_ "Atmega16" | ||
#elif defined (__AVR_ATmega161__) | ||
#define _AVR_CPU_NAME_ "ATmega161" | ||
#elif defined (__AVR_ATmega162__) | ||
#define _AVR_CPU_NAME_ "ATmega162" | ||
#elif defined (__AVR_ATmega163__) | ||
#define _AVR_CPU_NAME_ "ATmega163" | ||
#elif defined (__AVR_ATmega164P__) | ||
#define _AVR_CPU_NAME_ "ATmega164P" | ||
#elif defined (__AVR_ATmega165__) | ||
#define _AVR_CPU_NAME_ "ATmega165" | ||
#elif defined (__AVR_ATmega165P__) | ||
#define _AVR_CPU_NAME_ "ATmega165P" | ||
#elif defined (__AVR_ATmega168__) | ||
#define _AVR_CPU_NAME_ "ATmega168" | ||
#elif defined (__AVR_ATmega168P__) | ||
#define _AVR_CPU_NAME_ "ATmega168P" | ||
#elif defined (__AVR_ATmega169__) | ||
#define _AVR_CPU_NAME_ "Atmega169" | ||
#elif defined (__AVR_ATmega169P__) | ||
#define _AVR_CPU_NAME_ "ATmega169P" | ||
#elif defined (__AVR_ATmega8HVA__) | ||
#define _AVR_CPU_NAME_ "ATmega8HVA" | ||
#elif defined (__AVR_ATmega16HVA__) | ||
#define _AVR_CPU_NAME_ "ATmega16HVA" | ||
#elif defined (__AVR_ATmega8__) | ||
#define _AVR_CPU_NAME_ "ATmega8" | ||
#elif defined (__AVR_ATmega48__) | ||
#define _AVR_CPU_NAME_ "ATmega48" | ||
#elif defined (__AVR_ATmega48P__) | ||
#define _AVR_CPU_NAME_ "ATmega48P" | ||
#elif defined (__AVR_ATmega88__) | ||
#define _AVR_CPU_NAME_ "ATmega88" | ||
#elif defined (__AVR_ATmega88P__) | ||
#define _AVR_CPU_NAME_ "ATmega88P" | ||
#elif defined (__AVR_ATmega8515__) | ||
#define _AVR_CPU_NAME_ "ATmega8515" | ||
#elif defined (__AVR_ATmega8535__) | ||
#define _AVR_CPU_NAME_ "ATmega8535" | ||
#elif defined (__AVR_AT90S8535__) | ||
#elif defined (__AVR_AT90C8534__) | ||
#elif defined (__AVR_AT90S8515__) | ||
#elif defined (__AVR_AT90S4434__) | ||
#elif defined (__AVR_AT90S4433__) | ||
#elif defined (__AVR_AT90S4414__) | ||
#elif defined (__AVR_ATtiny22__) | ||
#elif defined (__AVR_ATtiny26__) | ||
#elif defined (__AVR_AT90S2343__) | ||
#elif defined (__AVR_AT90S2333__) | ||
#elif defined (__AVR_AT90S2323__) | ||
#elif defined (__AVR_AT90S2313__) | ||
#elif defined (__AVR_ATtiny2313__) | ||
#define _AVR_CPU_NAME_ "ATtiny2313" | ||
#elif defined (__AVR_ATtiny13__) | ||
#elif defined (__AVR_ATtiny13A__) | ||
#elif defined (__AVR_ATtiny25__) | ||
#elif defined (__AVR_ATtiny45__) | ||
#elif defined (__AVR_ATtiny85__) | ||
#elif defined (__AVR_ATtiny24__) | ||
#elif defined (__AVR_ATtiny44__) | ||
#elif defined (__AVR_ATtiny84__) | ||
#elif defined (__AVR_ATtiny261__) | ||
#elif defined (__AVR_ATtiny461__) | ||
#elif defined (__AVR_ATtiny861__) | ||
#elif defined (__AVR_ATtiny43U__) | ||
#elif defined (__AVR_ATtiny48__) | ||
#elif defined (__AVR_ATtiny88__) | ||
#elif defined (__AVR_ATtiny167__) | ||
|
||
#else | ||
#error cpu not defined | ||
#endif | ||
|
||
|
||
#if !defined (_AVR_CPU_NAME_) | ||
// #define _AVR_CPU_NAME_ "UNKNOWN" | ||
#endif |
76 changes: 76 additions & 0 deletions
76
libraries/ArduinoTestSuite/examples/ATS_Constants/ATS_Constants.pde
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
//************************************************************************ | ||
//* Arduino Test of Arduino Constants | ||
//* (C) 2010 by Rick Anderson | ||
//* Open source as per standard Arduino code | ||
//* | ||
//************************************************************************ | ||
//* Oct 16, 2010 <ROA> Test of Arduino Constants | ||
//************************************************************************ | ||
|
||
#include "WProgram.h" | ||
#include "HardwareSerial.h" | ||
#include <ArduinoTestSuite.h> | ||
|
||
//************************************************************************ | ||
void setup() | ||
{ | ||
int startMemoryUsage; | ||
|
||
//Start memory usage must be site prior to ATS_begin | ||
startMemoryUsage = ATS_GetFreeMemory(); | ||
ATS_begin("Arduino", "Test of Arduino Constants"); | ||
/* | ||
* Test Run Start | ||
*/ | ||
|
||
|
||
//test true constant | ||
ATS_PrintTestStatus("1. Test of true constant", true == 1); | ||
|
||
//test false consts | ||
ATS_PrintTestStatus( "2. Test of false constant", false == 0); | ||
|
||
//Test of HIGH == 1 | ||
ATS_PrintTestStatus( "3. Test of HIGH == 1", HIGH == 1); | ||
|
||
//Test of LOW == 0 | ||
ATS_PrintTestStatus( "4. Test of LOW == 0", LOW == 0); | ||
|
||
//Test of INPUT == 1 | ||
ATS_PrintTestStatus( "5. Test of INPUT == 1", HIGH == 1); | ||
|
||
//Test of OUTPUT == 0 | ||
ATS_PrintTestStatus( "6. Test of OUTPUT == 0", LOW == 0); | ||
|
||
//test decimal | ||
ATS_PrintTestStatus( "7. Test of decimal constant", 101 == ((1 * pow(10,2)) + (0 * pow(10,1)) + 1)); | ||
|
||
//test binary | ||
ATS_PrintTestStatus( "8. Test of binary constant", B101 == 5); | ||
|
||
//test octal | ||
ATS_PrintTestStatus( "9. Test of octal constant", 0101 == 65); | ||
|
||
//test hexadecimal | ||
ATS_PrintTestStatus( "7. Test of hexadecimal constant", (0x101 == 257)); | ||
|
||
/* | ||
* Test Run End | ||
*/ | ||
ATS_ReportMemoryUsage(startMemoryUsage); | ||
ATS_end(); | ||
|
||
} | ||
|
||
|
||
//************************************************************************ | ||
void loop() | ||
{ | ||
|
||
|
||
} | ||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.