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; }
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; }
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; }
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; }
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; }
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; }
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; }
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 */ }
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; }
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; }
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; }
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--; } }
/** * 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); } } }