aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/RestartingViewVM.cs
blob: 46111031bd92a7414345e1fa5f40fd5842163c08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.PPC.Common;

namespace Tango.PPC.UI.ViewModels
{
    public class RestartingViewVM : PPCViewModel
    {
        public override void OnApplicationStarted()
        {
            
        }

        public override void OnNavigatedTo()
        {
            base.OnNavigatedTo();
        }

        public override void OnNavigatedFrom()
        {
            base.OnNavigatedFrom();
        }
    }
}
olor: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/************************************************************
 * Utils.h
 * general module of system utility functions
 **************************************************************/

#include "include.h"
#include <inc/hw_ints.h>
#include <inc/hw_memmap.h>
#include <driverlib/rom.h>
#include <time.h>
#include "Common/Utilities/Utils.h"
//#include <driverlib/systick.h>
#include "driverlib/hibernate.h"
#include <driverlib/Watchdog.h>

//*****************************************************************************

#define MAX_MEM_LOG 100
int freeIndex=0,malloc_index=0;
uint32_t malloc_size[MAX_MEM_LOG+1];
uint32_t malloc_time[MAX_MEM_LOG+1];
void * malloc_addr[MAX_MEM_LOG+1];
void * free_addr[MAX_MEM_LOG+1];
//uint32_t total_allocated = 0;
void  *my_malloc(size_t _size)
{
    void * addr =  malloc (_size);
    if (_size == 0) return addr;
/*    int i;
    for (i=0; i< MAX_MEM_LOG;i++)
    {
        if (malloc_time[i] == 0)
        {
            malloc_index = i;
            break;
        }
    }
    assert (malloc_index<MAX_MEM_LOG);
    if (malloc_index<MAX_MEM_LOG)
    {
        malloc_addr[malloc_index] = addr;
        malloc_size[malloc_index] = _size;
        malloc_time[malloc_index] = msec_millisecondCounter;
    }
    */
    if ((addr)&&(_size>400))
    {
        malloc_addr[malloc_index] = addr;
        malloc_size[malloc_index] = _size;
        malloc_time[malloc_index] = msec_millisecondCounter;
        if (malloc_index++>=MAX_MEM_LOG)
            malloc_index = 0;
    }
    return addr;
}
int allocated_size = 0;
void   my_free(void *_ptr)
{
    //int i;
    free(_ptr);
    if (_ptr)
    {
/*        for (i=0; i< MAX_MEM_LOG;i++)
        {
            if ( malloc_addr[i] == _ptr)
            {
                malloc_addr[i] = 0;
                malloc_time[i] = 0;
                malloc_size[i] = 0;
                break;
            }
        }
        if (i==MAX_MEM_LOG)
        {
          //  LOG_ERROR(i,"free error");
                    return;
        }
        allocated_size = 0;
//        for (i=0; i< MAX_MEM_LOG;i++)
//            allocated_size+=malloc_size[i];
 *
 */
        free_addr[freeIndex] = _ptr;
        if (freeIndex++>=MAX_MEM_LOG)
            freeIndex = 0;

    }
}

//*****************************************************************************
//
// Init WD timer
//
//*****************************************************************************
void InitWatchdog(uint32_t clock)
{
	//
	// Enable the watchdog interrupt.
	//
    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0);
    ROM_WatchdogIntClear(WATCHDOG0_BASE);
    ROM_WatchdogIntTypeSet(WATCHDOG0_BASE,0);  //interrupt, not NMI
	ROM_IntEnable(INT_WATCHDOG);

	//
	// Set the period of the watchdog timer.
	//
	ROM_WatchdogReloadSet(WATCHDOG0_BASE, clock);

	//
	// Enable reset generation from the watchdog timer.
	//
	ROM_WatchdogResetEnable(WATCHDOG0_BASE);

	//
	// Enable the watchdog timer.
	//
	ROM_WatchdogEnable(WATCHDOG0_BASE);
}
void utilsInit(uint32_t ui32SysClock)
{

    // Configure Hibernate module clock.
    //
    HibernateEnableExpClk(ui32SysClock);


    // Enable RTC mode.
    //
    HibernateRTCEnable();

    //
    // Configure the hibernate module counter to 24-hour calendar mode.
    //
    // HibernateCounterMode(HIBERNATE_COUNTER_24HR);
    // Configure the hibernate module counter to RTC counter mode.
    HibernateCounterMode(HIBERNATE_COUNTER_RTC);


}


uint32_t UsersysTickGet (void) {
    uint32_t tick = 0;
//    tick =  SysTickValueGet();
    tick = HibernateRTCSSGet()*10000/0x8000;
    return tick;
}

//*****************************************************************************
//
// The interrupt handler for the watchdog.  This feeds the dog (so that the
// processor does not get reset) and winks the LED connected to GPIO B3.
//
//*****************************************************************************
void WatchdogIntHandler(void)
{
     //
     // Clear the watchdog interrupt.
     //
     ROM_WatchdogIntClear(WATCHDOG0_BASE);
}

bool sendDataToHost = false;
void UtilsSetCommunicationOk(void)
{
    sendDataToHost = true;
}