void AMLCD::init() { //this->_lcd = &__am_lcd; _lcd = new LiquidCrystal(LCD_PIN_4, LCD_PIN_6, LCD_PIN_11, LCD_PIN_12, LCD_PIN_13, LCD_PIN_14); delay(100); //_lcd.createChar(1, typeT); delay(10); //_lcd->createChar(12, type_SB); delay(10); //__am_lcd.createChar(2, type_R); delay(10); //__am_lcd.createChar(4, type_C); delay(10); //__am_lcd.createChar(5, type_K); delay(10); //__am_lcd.createChar(6, type_U); delay(10); //__am_lcd.createChar(99, Spacer); delay(10); //__am_lcd.createChar(7, type_SB); delay(10); //__am_lcd.createChar(8, type_I); delay(10); //__am_lcd.createChar(9, type_S); delay(10); //__am_lcd.createChar(1, test); delay(10); //const byte Spacer[8] = { 0b10101, 0b01110, 0b10101, 0b01110, 0b10101, 0b01110, 0b10101, 0b01110 }; //_lcd->createChar(100, Spacer); delay(100); _lcd->begin(16, 2); // 16 x 2 display _TEST(); delay(100); //_lcd->println("LCD READY"); delay(100); }
static int wb_printf_run(struct wboxtest *test, struct vmm_chardev *cdev) { char buf[1024]; int rc = VMM_OK; const virtual_addr_t deadbeef = 0xdeadbeef; const physical_addr_t babe = 0xbabe; const virtual_size_t size = 42; const s64 var = 777; const u64 feeddeadbabe = (u64)(0x0000feeddeadbabe); #define _TEST(expect_, fmt_, ...) \ do { \ vmm_snprintf(buf, sizeof(buf), fmt_, ## __VA_ARGS__); \ vmm_cprintf(cdev, "Expecting [%s], wrote [%s]... ", \ expect_, buf); \ if (strcmp(buf, expect_) != 0) { \ rc = VMM_EFAIL; \ vmm_cprintf(cdev, "FAIL!\n"); \ } else { \ vmm_cprintf(cdev, "ok\n"); \ } \ } while (0) /*===================================================================*/ _TEST("1024 = 2^10", "%d = %i^%s", 1024, 2, "10"); _TEST("0xbad = 0XBAD", "0x%x = 0X%X", 0xbad, 2989); /* 0xbad = 2989 */ _TEST("1 + 1 + 1 + 777 = 780", "%"PRId8" + %"PRId16" + %"PRId32" + %"PRId64" = %d", (s8)1, (s16)1, (s32)1, var, 780); _TEST("1 + 1 + 1 + 777 = 780", "%"PRIi8" + %"PRIi16" + %"PRIi32" + %"PRIi64" = %i", (s8)1, (s16)1, (s32)1, var, 780); _TEST("1 + 1 + 1 + 777 = 780", "%"PRIu8" + %"PRIu16" + %"PRIu32" + %"PRIu64" = %u", (u8)1, (u16)1, (u32)1, var, 780); _TEST("0xfeeddeadbabe = 280297596631742", "%"PRIx64" = %"PRIu64, feeddeadbabe, feeddeadbabe); if (sizeof(void *) == sizeof(u32)) { _TEST("0xDEADBEEF", "0x%"PRIADDR, deadbeef); _TEST("0x0000BABE", "0x%"PRIADDR, babe); } else if (sizeof(void *) == sizeof(u64)) { _TEST("0x00000000DEADBEEF", "0x%"PRIADDR, deadbeef); _TEST("0x000000000000BABE", "0x%"PRIADDR, babe); } _TEST("42 % 2 = 0", "%"PRISIZE" %% %u = %i", size, 2, 0); _TEST("Xvisor", "%c%c%c%c%c%c", 'X', 'v', 'i', 's', 'o', 'r'); /*===================================================================*/ #undef _TEST return rc; }
//PERF_FUNCTION_N_R_D_L(ccn_write_uint) /* #if CCN_MUL_ASM PERF_FUNCTION_N_R_X_B(ccn_mul1, 0xFFFFFFFF) PERF_FUNCTION_N_R_X_B(ccn_addmul1, 0xFFFFFFFF) #endif */ #define CCN_TEST(_op) { .name="ccn_"#_op, .di=&_di, .keylen=_keylen } #define _TEST(_x) { .name = #_x, .func = perf_ ## _x} static struct ccn_perf_test { const char *name; double(*func)(unsigned long loops, cc_size count); } ccn_perf_tests[] = { _TEST(ccn_gcd), _TEST(ccn_mul), _TEST(ccn_mul_ws), _TEST(ccn_sqr), _TEST(ccn_add), _TEST(ccn_sub), _TEST(ccn_shift_left), _TEST(ccn_shift_right), _TEST(ccn_shift_left_multi), _TEST(ccn_shift_right_multi), _TEST(ccn_add1), _TEST(ccn_set), _TEST(ccn_cmp),
do { status = ccrng_generate((struct ccrng_state *)&nist_ctx, nbytes, results); cc_assert(status==0); } while (--loops != 0); time=perf_time(); return time; } #define _TEST(_x) { .name = #_x, .func = perf_ ## _x} static struct ccrng_perf_test { const char *name; double(*func)(unsigned long loops, cc_size nbytes); } ccrng_perf_tests[] = { _TEST(ccrng_CommonCrypto_generate), _TEST(ccrng_system_generate), _TEST(ccrng_system_oneshot) }; static double perf_ccrng(unsigned long loops, unsigned long size, const void *arg) { const struct ccrng_perf_test *test=arg; return test->func(loops, size); } static struct ccperf_family family; struct ccperf_family *ccperf_family_ccrng(int argc, char *argv[]) {
perf_start(); do { cced25519_verify(di, sizeof(msg), msg, sig,pk); } while (--loops != 0); return perf_time(); } #define _TEST(_x,_di) { .name = #_x"("#_di")", .func = perf_ ## _x, .di = &_di} static struct ccec25519_perf_test { const char *name; double(*func)(unsigned long loops, unsigned long size, const struct ccdigest_info *di); const struct ccdigest_info *di; } ccec25519_perf_tests[] = { _TEST(cccurve25519_make_pub,ccsha512_ltc_di), _TEST(cccurve25519_make_key_pair,ccsha512_ltc_di), _TEST(cced25519_make_key_pair,ccsha512_ltc_di), _TEST(cced25519_sign,ccsha512_ltc_di), _TEST(cced25519_verify,ccsha512_ltc_di), }; static double perf_ccec25519(unsigned long loops, CC_UNUSED unsigned long size, const void *arg) { const struct ccec25519_perf_test *test=arg; // Message size of constant size 32 return test->func(loops, 32, test->di); } static struct ccperf_family family;