Implement a secure ICS protocol targeting LoRa Node151 microcontroller for controlling irrigation.
				
			 
			
		 
		
		
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
						
							|  | /* From: https://stackoverflow.com/questions/32610019/arm-m4-instructions-per-cycle-ipc-counters */
/* minor formating + type fixes */
volatile unsigned int *DWT_CYCCNT  ;
volatile unsigned int *DWT_CONTROL ;
volatile unsigned int *SCB_DEMCR   ;
static void
reset_timer()
{
    DWT_CYCCNT   = (unsigned int *)0xE0001004; //address of the register
    DWT_CONTROL  = (unsigned int *)0xE0001000; //address of the register
    SCB_DEMCR    = (unsigned int *)0xE000EDFC; //address of the register
    *SCB_DEMCR   = *SCB_DEMCR | 0x01000000;
    *DWT_CYCCNT  = 0; // reset the counter
    *DWT_CONTROL = 0; 
}
static void start_timer()
{
    *DWT_CONTROL = *DWT_CONTROL | 1 ; // enable the counter
}
static void
stop_timer()
{
    *DWT_CONTROL = *DWT_CONTROL | 0 ; // disable the counter    
}
static unsigned int
getCycles()
{
    return *DWT_CYCCNT;
}
 |