Stefan Schuermans
implement MCUF input via Ethernet
Stefan Schuermans commited 28c2376 at 2019-05-01 21:00:49
/* flaneth - flash and ethernet
Copyright (C) 2007-2012 Stefan Schuermans <stefan@blinkenarea.org>
Copyleft: GNU public license V2 - http://www.gnu.org/copyleft/gpl.html
a BlinkenArea project - http://www.blinkenarea.org/ */
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/atomic.h>
#include "arp.h"
#include "cf.h"
#include "dhcp.h"
#include "ip.h"
#include "mcuf_in.h"
#include "random.h"
#include "rtl8019.h"
#include "status.h"
#include "tcp.h"
#include "timing.h"
#include "udp.h"
// global timer in ms
volatile unsigned long TimingMs = 0;
// 2ms tick counter to generate 20ms ticks
volatile unsigned char Timing2_10 = 0;
// flag set every 20ms to indicate execution of 20ms ticks
volatile unsigned char Timing20Flag = 0;
// wrapping around 20ms tick counter
unsigned char Timing20 = 0;
// 20ms tick counter to generate 200ms ticks
unsigned char Timing20_10 = 0;
// 2ms interrupt (timer 0 compare match)
ISR(TIMER0_COMP_vect)
{
// advance global timer
TimingMs += 2;
// set flag every 20ms
Timing2_10++;
if (Timing2_10 >= 10) {
Timing2_10 = 0;
Timing20Flag = 1;
}
}
// initialize
void TimingInit(void) // (extern)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX