Merge remote-tracking branch 'origin/master' into dev-top

dev-top
Harald Wolff 2017-11-21 12:09:55 +01:00
commit e409556848
5 changed files with 45 additions and 10 deletions

View File

@ -15,6 +15,8 @@
struct _rb2_proxy;
typedef struct _rb2_proxy RB2_PROXY;
typedef struct _rb2_proxy rb2_proxy_t;
#define RB2_PROXY(ptr) ((RB2_PROXY*)(ptr))

View File

@ -25,9 +25,8 @@ int32_t _assert_current_error(void);
#define noassert(f) _noassert( (f), getPC() )
#else
#define assert2(f,p) (f)
#define assert(f) (f)
#define assert(f) { int r = (f); if (r<0) { return r; }; }
#define noassert(f) (f)
#define _assert_read() (0)

View File

@ -9,8 +9,6 @@
#include <stdint.h>
#define ASSERT_BUFFER_LEN 8
#define RTA_USER0 0x01
@ -101,9 +99,13 @@ struct rt_ram {
uint32_t unix_timeoffset;
unix_time_changing_t
unix_time_changing;
#if !defined(RUNTIME_USES_THREADING)
SYSTIMER *timer;
#else
thread_t *rtThread;
#endif
systick_t secs_last;
systick_t secs_current,
secs_gone;

View File

@ -11,17 +11,23 @@
*
* @{
*/
volatile struct rt_ram rt_ram;
volatile struct rt_ram rt_ram;
/*! \brief Signal Thread.
*
*/
void runtime_signal(void)
{
#if !defined(RUNTIME_USES_THREADING)
timer_start( rt_ram.timer, 1L );
#else
thread_wake( rt_ram.rtThread );
#endif
};
/*! \brief Runtime-Thread.
*
* Ermittelt Betriebsstunden des Geräts
@ -44,6 +50,23 @@ void runtime_cycle(void)
rt_ram.secs_last = rt_ram.secs_current;
};
#if defined(RUNTIME_USES_THREADING)
void runtime_thread(void* arg){
while (1){
wait_ms( 10000l );
runtime_cycle();
};
};
#endif
/*! \brief Startet Runtime-Thread.
*
*/
@ -62,8 +85,16 @@ void runtime_start(int16_t bank)
rt_ram.secs_last = systick_secs();
rt_ram.bank = bank;
#if !defined(RUNTIME_USES_THREADING)
rt_ram.timer = timer_create_ex( TIMERID_SYS_RUNTIME, 10000000L, runtime_cycle, TF_REPEAT);
timer_start( rt_ram.timer, 0 );
#else
thread_alloc( runtime_thread, NULL, 256 );
#endif
};

View File

@ -83,12 +83,13 @@ int usart_tx (uint8_t usart,char *b,int size){
for (n=0;n<size;n++){
for (r=0;r<10;r++){
if (usart_write( usart, *(b++)) >= 0){
break;
return ESUCCESS;
};
wait_ms(1);
};
};
return -EFAIL;
};
#endif
#endif