Skip to content
This repository was archived by the owner on Feb 21, 2020. It is now read-only.

Commit 006c952

Browse files
committed
Fixed 'word()', renamed and cleaned files
1 parent 395c792 commit 006c952

File tree

7 files changed

+121
-202
lines changed

7 files changed

+121
-202
lines changed

cores/arduino/Arduino.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,4 @@ typedef uint8 byte;
3737
#include "variant.h"
3838
#include "Tone.h"
3939
#include "WCharacter.h"
40+
#include "WMath.h"

cores/arduino/HardwareTimer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@
3131

3232
#include "HardwareTimer.h"
3333
#include "boards.h" // for CYCLES_PER_MICROSECOND
34-
#include "wiring_math.h"
34+
//#include "wiring_math.h"
35+
#include "WMath.h"
36+
3537

3638
#define NR_TIMERS 14
3739

cores/arduino/WMath.cpp

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
Copyright (c) 2011 Arduino. All right reserved.
3+
4+
This library is free software; you can redistribute it and/or
5+
modify it under the terms of the GNU Lesser General Public
6+
License as published by the Free Software Foundation; either
7+
version 2.1 of the License, or (at your option) any later version.
8+
9+
This library is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+
See the GNU Lesser General Public License for more details.
13+
14+
You should have received a copy of the GNU Lesser General Public
15+
License along with this library; if not, write to the Free Software
16+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17+
*/
18+
19+
extern "C" {
20+
#include "stdlib.h"
21+
#include "stdint.h"
22+
}
23+
#include "WMath.h"
24+
25+
extern void randomSeed( uint32_t dwSeed )
26+
{
27+
if ( dwSeed != 0 )
28+
{
29+
srand( dwSeed ) ;
30+
}
31+
}
32+
33+
extern long random( long howbig )
34+
{
35+
if ( howbig == 0 )
36+
{
37+
return 0 ;
38+
}
39+
40+
return rand() % howbig;
41+
}
42+
43+
extern long random( long howsmall, long howbig )
44+
{
45+
if (howsmall >= howbig)
46+
{
47+
return howsmall;
48+
}
49+
50+
long diff = howbig - howsmall;
51+
52+
return random(diff) + howsmall;
53+
}
54+
55+
extern long map(long x, long in_min, long in_max, long out_min, long out_max)
56+
{
57+
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
58+
}
59+
60+
extern uint16_t makeWord( uint16_t w )
61+
{
62+
return w ;
63+
}
64+
65+
extern uint16_t makeWord( uint8_t h, uint8_t l )
66+
{
67+
return (h << 8) | l ;
68+
}

cores/arduino/WMath.h

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
Copyright (c) 2011 Arduino. All right reserved.
3+
4+
This library is free software; you can redistribute it and/or
5+
modify it under the terms of the GNU Lesser General Public
6+
License as published by the Free Software Foundation; either
7+
version 2.1 of the License, or (at your option) any later version.
8+
9+
This library is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+
See the GNU Lesser General Public License for more details.
13+
14+
You should have received a copy of the GNU Lesser General Public
15+
License along with this library; if not, write to the Free Software
16+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17+
*/
18+
19+
#ifndef _WIRING_MATH_
20+
#define _WIRING_MATH_
21+
22+
extern long random( long ) ;
23+
extern long random( long, long ) ;
24+
extern void randomSeed( uint32_t dwSeed ) ;
25+
extern long map( long, long, long, long, long ) ;
26+
27+
extern uint16_t makeWord( uint16_t w ) ;
28+
extern uint16_t makeWord( uint8_t h, uint8_t l ) ;
29+
30+
#define word(...) makeWord(__VA_ARGS__)
31+
32+
#define min(a,b) ((a)<(b)?(a):(b))
33+
#define max(a,b) ((a)>(b)?(a):(b))
34+
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
35+
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
36+
#define radians(deg) ((deg)*DEG_TO_RAD)
37+
#define degrees(rad) ((rad)*RAD_TO_DEG)
38+
#define sq(x) ((x)*(x))
39+
40+
/* undefine stdlib's abs if encountered */
41+
#ifdef abs
42+
#undef abs
43+
#endif
44+
#define abs(x) (((x) > 0) ? (x) : -(x))
45+
46+
47+
#endif /* _WIRING_MATH_ */

cores/arduino/wiring.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
#include "pwm.h"
4949
#include "interrupts.h"
5050
#include "wiring_debug.h"
51-
#include "wiring_math.h"
51+
#include "WMath.h"
52+
5253
#include "wiring_time.h"
5354
#include <wiring_constants.h>
5455
#include "SPI.h"

cores/arduino/wiring_math.cpp

Lines changed: 0 additions & 49 deletions
This file was deleted.

cores/arduino/wiring_math.h

Lines changed: 0 additions & 151 deletions
This file was deleted.

0 commit comments

Comments
 (0)