コード例 #1
0
ファイル: main.c プロジェクト: allankliu/PyMite-MKL25Z
int main(void)
{
    PmReturn_t retval;

    retval = pm_init(MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"main");
    return (int)retval;
}
コード例 #2
0
ファイル: t080.c プロジェクト: Nonpython/projects
int main(void)
{
    uint8_t heap[HEAP_SIZE];
    PmReturn_t retval;
    
    retval = pm_init(heap, HEAP_SIZE, MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"t080");
    return (int)retval;
}
コード例 #3
0
ファイル: main.c プロジェクト: AGM1968/python-on-a-chip
int main(void)
{
    uint8_t heap[HEAP_SIZE] __attribute__((aligned((4))));
    PmReturn_t retval;

    retval = pm_init(heap, HEAP_SIZE, MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"main");
    return (int)retval;
}
コード例 #4
0
ファイル: main.c プロジェクト: 01iv3r/OpenPilot
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
#endif
 {
    PmReturn_t retval;

    retval = pm_init(MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"main");
    return (int)retval;
}
コード例 #5
0
ファイル: t119.c プロジェクト: allankliu/PyMite-MKL25Z
int main(void)
{
    PmReturn_t retval;

    retval = pm_init(MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"t119");
    C_ASSERT((int)retval == PM_RET_EX_ZDIV);
    if (retval == PM_RET_EX_ZDIV) return (int)PM_RET_OK;
    return (int)retval;
}
コード例 #6
0
ファイル: t376.c プロジェクト: AGM1968/python-on-a-chip
int main(void)
{
    uint8_t heap[HEAP_SIZE];
    PmReturn_t retval;

    retval = pm_init(heap, HEAP_SIZE, MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"t376");
    C_ASSERT((int)retval == PM_RET_EX_TYPE);
    if (retval == PM_RET_EX_TYPE) return (int)PM_RET_OK;
    return (int)retval;
}
コード例 #7
0
ファイル: main.c プロジェクト: KnightSch/python-on-a-chip
int main(void)
{
    PmReturn_t retval;

    /* Init board (don't overwrite PyMite's AVR UART config) */
    mmb_init(0, ADC_CK_DIV_128, PWM_CK_DIV_8, 2, 16);

    /* Init and run PyMite */
    retval = pm_init(MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"main");
    return (int)retval;
}
コード例 #8
0
ファイル: t076.c プロジェクト: allankliu/PyMite-MKL25Z
int main(void)
{
    #ifdef HAVE_PRINT
    PmReturn_t retval;
    
    retval = pm_init(MEMSPACE_PROG, usrlib_img);
    PM_RETURN_IF_ERROR(retval);

    retval = pm_run((uint8_t *)"t076");
    return (int)retval;
    #else
    printf("HAVE_PRINT is not defined. Skipping test.\n");
    return 0;
    #endif /* !HAVE_PRINT */
}
コード例 #9
0
ファイル: main.c プロジェクト: Tanganelli/python-on-a-chip
int main(void)
{
    PmReturn_t retval;

    retval = pm_init(heap, sizeof(heap), MEMSPACE_PROG, usrlib_img);
    printf("Python initialized; result was 0x%02x.\n", retval);
    PM_RETURN_IF_ERROR(retval);

    printf("Running Python...\n");
    retval = pm_run((uint8_t *)"main");

    printf("\n\nPython finished, return of 0x%02x.\nResetting...\n\n", retval);
    // Wait a bit, so reset so flash by too fast.
    DELAY_MS(1000);
    asm("reset");

    return (int)retval;
}
コード例 #10
0
ファイル: main.c プロジェクト: AGM1968/python-on-a-chip
int main(void)
{
    PmReturn_t retval;

    retval = pm_init(heap, sizeof(heap), MEMSPACE_PROG, usrlib_img);
    printf("Python initialized; result was 0x%02x.\n", retval);
    PM_RETURN_IF_ERROR(retval);

    printf("Running Python...\n");
    // Uncommon one or the other to run the main code, or
    // to run sample code.
    retval = pm_run((uint8_t *) "main");
    //retval = pm_run((uint8_t *) "sample_lib");

    printf("\n\nPython finished, return of 0x%02x.\nResetting...\n\n", retval);
    // Wait a bit, so reset won't flash by too fast.
    DELAY_MS(1000);
    asm("reset");

    return (int)retval;
}
コード例 #11
0
ファイル: t380.c プロジェクト: AGM1968/python-on-a-chip
int main(void)
{
    uint8_t *heap;
    PmReturn_t retval;
    int32_t hs;
    int8_t i;

    for (i = 0; i < 4; i++)
    {
        hs = formerly_bad_heapsizes[i];
        heap = malloc(hs);
        retval = pm_init(heap, hs, MEMSPACE_PROG, usrlib_img);
        if (retval != PM_RET_OK)
        {
            free(heap);
            break;
        }

        retval = pm_run((uint8_t *)"t380");
        free(heap);
        PM_BREAK_IF_ERROR(retval);
    }
    return retval;
}
コード例 #12
0
ファイル: pymite.c プロジェクト: surrey-with-fringe/pymite-rk
inline PmReturn_t pymite()
{

    PmReturn_t retval;

    bmac_init(14);
    bmac_rx_pkt_set_buffer (rx_buf, RF_MAX_PAYLOAD_SIZE);
    bmac_addr_decode_enable();
    //set MAC
    bmac_addr_decode_set_my_mac(MAC_ADDR);

    
	 
	 // sdp testing 
	sdp_init(MAC_ADDR);
	uint8_t destId = 1; 

	nrk_time_t wait; 
	wait.secs = 1; 
	wait.nano_secs = 0; 

    int sel = 0;
    for (;; sel = (sel + 1) % 2) {
        uint8_t *script = slave_img;
	    for (int i = 0; i < SLAVE_COUNT; i++) { 

            destId = slaves[i];


		    printf("Sending a script to a node=%x\r\n", destId); 
            /*for (i = 0; i < SDP_MAX_SCRIPT_SIZE; i++) {
                printf("%x ", script[i]);
            }*/

		    int8_t status = sdp_tx_send_script(script, destId, SDP_MAX_SCRIPT_SIZE); 

		    // see if script was delivered
		    if(status == NRK_ERROR)
			    nrk_kprintf(PSTR("Script not delivered.\r\n")); 
		    else
			    nrk_kprintf(PSTR("Script delivered.\r\n")); 

		    // wait to send again
		    nrk_set_next_wakeup(wait); 
		    nrk_event_wait(SIG(nrk_wakeup_signal)); 

        }

        retval = pm_init(MEMSPACE_RAM, usrlib_img);

        retval = pm_run((uint8_t *)"main");

        printf("exit code %x\r\n", retval);


	}



    printf("f**k MAC_ADDR=%x\r\n", MAC_ADDR);
    //PM_RETURN_IF_ERROR(retval);
    int i;
    for (i = 0; i < 100000; i++) {
        i++;
        i--;
    }

}
コード例 #13
0
ファイル: flightplan.c プロジェクト: 01iv3r/OpenPilot
/**
 * Module task
 */
static void flightPlanTask(void *parameters)
{
	UAVObjEvent ev;
	PmReturn_t retval;
	FlightPlanStatusData status;
	FlightPlanControlData control;

	// Setup status object
	status.Status = FLIGHTPLANSTATUS_STATUS_STOPPED;
	status.ErrorFileID = 0;
	status.ErrorLineNum = 0;
	status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_NONE;
	status.Debug[0] = 0.0;
	status.Debug[1] = 0.0;
	FlightPlanStatusSet(&status);

	// Main thread loop
	while (1)
	{
		// Wait for FlightPlanControl updates
		while (xQueueReceive(queue, &ev, portMAX_DELAY) != pdTRUE) ;

		// Get object and check if a start command was sent
		FlightPlanControlGet(&control);
		if ( control.Command == FLIGHTPLANCONTROL_COMMAND_START )
		{
			// Init PyMite
			retval = pm_init(MEMSPACE_PROG, usrlib_img);
			if (retval == PM_RET_OK)
			{
				// Update status
				FlightPlanStatusGet(&status);
				status.Status = FLIGHTPLANSTATUS_STATUS_RUNNING;
				FlightPlanStatusSet(&status);
				// Run the test script (TODO: load from SD card)
				retval = pm_run((uint8_t *)"test");
				// Check if an error or exception was thrown
				if (retval == PM_RET_OK || retval == PM_RET_EX_EXIT)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_STOPPED;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_NONE;
				}
				else if (retval == PM_RET_EX)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_EXCEPTION;
				}
				else if (retval == PM_RET_EX_IO)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_IOERROR;
				}
				else if (retval == PM_RET_EX_ZDIV)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_DIVBYZERO;
				}
				else if (retval == PM_RET_EX_ASSRT)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_ASSERTERROR;
				}
				else if (retval == PM_RET_EX_ATTR)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_ATTRIBUTEERROR;
				}
				else if (retval == PM_RET_EX_IMPRT)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_IMPORTERROR;
				}
				else if (retval == PM_RET_EX_INDX)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_INDEXERROR;
				}
				else if (retval == PM_RET_EX_KEY)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_KEYERROR;
				}
				else if (retval == PM_RET_EX_MEM)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_MEMORYERROR;
				}
				else if (retval == PM_RET_EX_NAME)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_NAMEERROR;
				}
				else if (retval == PM_RET_EX_SYNTAX)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_SYNTAXERROR;
				}
				else if (retval == PM_RET_EX_SYS)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_SYSTEMERROR;
				}
				else if (retval == PM_RET_EX_TYPE)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_TYPEERROR;
				}
				else if (retval == PM_RET_EX_VAL)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_VALUEERROR;
				}
				else if (retval == PM_RET_EX_STOP)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_STOPITERATION;
				}
				else if (retval == PM_RET_EX_WARN)
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_WARNING;
				}
				else
				{
					status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
					status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_UNKNOWNERROR;
				}
				// Get file ID and line number of error (if one)
				status.ErrorFileID = gVmGlobal.errFileId;
				status.ErrorLineNum = gVmGlobal.errLineNum;
			}
			else
			{
				status.Status = FLIGHTPLANSTATUS_STATUS_ERROR;
				status.ErrorType = FLIGHTPLANSTATUS_ERRORTYPE_VMINITERROR;
			}

			// Update status object
			FlightPlanStatusSet(&status);
		}
	}
}