void mrf24j40_handle_isr() { uns8 intstat; // first we need to get a copy of intstat to find out what happened intstat = mrf24j40_short_addr_read(INTSTAT); // mrf24j40 intstat register is cleared on read if (test_bit(intstat, INTSTAT_RXIF)) { #ifndef __PIC32MX__ serial_print_str("R"); #endif // handle receive mrf24j40_receive_callback(); } if (test_bit(intstat, INTSTAT_TXNIF)) { #ifndef __PIC32MX__ serial_print_str("Tx complete txstat=0x"); #endif uns8 stat = mrf24j40_short_addr_read(TXSTAT); mrf24j40_transmit_callback(stat & 0b00000001, // success = 0 stat >> 6, // retries test_bit(stat, TXSTAT_CCAFAIL)); // due to cca failure? #ifndef __PIC32MX__ serial_print_int_hex(stat); serial_print_nl(); #endif } }
void mrf24j40_set_extended_address(uns8 *_extended_address) { uns8 count; uns8 mem_pos = EADR7; #ifndef __PIC32MX__ serial_print_str("Setting EA to: "); #endif for (count = 0; count < 8; count++) { extended_address[count] = _extended_address[count]; mrf24j40_short_addr_write(mem_pos--, extended_address[count]); #ifndef __PIC32MX__ serial_print_int_hex(extended_address[count]); serial_putc(' '); #endif } #ifndef __PIC32MX__ serial_print_nl(); #endif }
void main() { configure_system(); delay_ms(100); serial_print_str("\n\nPicPack Sure 2416 Led display demo\n"); serial_print_str( "\n<"); serial_print_str(__TIME__); serial_putc(' '); serial_print_str(__DATE__); serial_print_str(">\n"); delay_ms(100); // sure_2416_write(0,0b00001111); uns8 brightness = 0; uns8 my_count = 0; while (1) { //delay_ms(250); //serial_print_str("writing...\n"); //sure_2416_write(0,0b00001111); /*delay_s(5); sure_2416_set_pixel(0,0,1); delay_s(1); sure_2416_set_pixel(23,0,1); delay_s(1); sure_2416_set_pixel(23,15,1); delay_s(1); sure_2416_set_pixel(0,15,1); delay_s(1); sure_2416_set_pixel(0,0,0); delay_s(1); sure_2416_set_pixel(23,0,0); delay_s(1); sure_2416_set_pixel(23,15,0); delay_s(1); sure_2416_set_pixel(0,15,0);*/ /*uns8 x,y; for(x = 0 ; x < 24 ; x++) { for(y = 0 ; y < 16 ; y++) { sure_2416_set_pixel(x, y, 1); } } delay_ms(100); for(x = 0 ; x < 24 ; x++) { for(y = 0 ; y < 16 ; y++) { sure_2416_set_pixel(x, y, 0); } } delay_ms(100); */ sure_2416_fill2(0); delay_ms(100); sure_2416_fill2(1); delay_ms(100); my_count++; if (my_count == 10) { serial_print_str("Setting brightness to "); serial_print_int(brightness); serial_print_nl(); sure_2416_set_brightness(brightness++); if (brightness == 16) { brightness = 0; } my_count = 0; } } } // main
void main() { trisa = 0; flash(); configure_system(); flash(); delay_ms(100); serial_print_str("\n\nPicPack Sure 6432 Led display demo\n"); serial_print_str( "\n<"); serial_print_str(__TIME__); serial_putc(' '); serial_print_str(__DATE__); serial_print_str(">\n"); serial_print_str("total buffer = "); serial_print_int(DRAW_TOTAL_BUFFER_SIZE); serial_print_nl(); serial_print_str("wide = "); serial_print_int(DRAW_PIXELS_WIDE); serial_print_nl(); serial_print_str("high = "); serial_print_int(DRAW_PIXELS_HIGH); serial_print_nl(); serial_print_str("ppb = "); serial_print_int(DRAW_PIXELS_PER_BYTE); serial_print_nl(); while (1) { /*delay_ms(250); draw_set_pixel(0,0,1); draw_paint(); delay_s(1); draw_set_pixel(23,0,1); draw_paint(); delay_s(1); draw_set_pixel(23,15,1); draw_paint(); delay_s(1); draw_set_pixel(0,15,1); draw_paint(); delay_s(1); draw_set_pixel(0,0,0); draw_paint(); delay_s(1); draw_set_pixel(23,0,0); draw_paint(); delay_s(1); draw_set_pixel(23,15,0); draw_paint(); delay_s(1); draw_set_pixel(0,15,0); draw_paint(); delay_s(1); draw_line(0, 0, 23, 15, 1); draw_paint(); delay_s(1); draw_line(0, 15, 23, 0, 1); draw_paint(); delay_s(1); draw_line(0, 0, 23, 15, 0); draw_paint(); delay_s(1); draw_line(0, 15, 23, 0, 0); draw_paint(); delay_s(1); draw_circle(12, 8, 1, 1); draw_paint(); delay_s(1); draw_circle(12, 7, 2, 1); draw_paint(); delay_s(1); draw_circle(12, 7, 3, 1); draw_paint(); delay_s(1); draw_circle(12, 7, 4, 1); draw_paint(); delay_s(1); draw_circle(12, 7, 5, 1); draw_paint(); delay_s(1); draw_circle(12, 7, 6, 1); draw_paint(); delay_s(1); draw_circle(12, 7, 7, 1); draw_paint(); delay_s(1);*/ draw_clear_screen(); serial_print_str("Rectangle\n"); draw_rect(1, 1, DRAW_PIXELS_WIDE - 1 -1 , DRAW_PIXELS_HIGH - 1 - 1, 2); /*draw_set_pixel(0,0,1); draw_set_pixel(DRAW_PIXELS_WIDE - 1, 0, 1); draw_set_pixel(DRAW_PIXELS_WIDE - 1, DRAW_PIXELS_HIGH - 1, 1); draw_set_pixel(0, DRAW_PIXELS_HIGH - 1, 1); */ uns16 countp; for (countp = 0; countp < 200; countp++) { draw_paint(); } draw_clear_screen(); serial_print_str("Rectangle\n"); draw_rect(1, 1, 62, 30, 1); draw_circle(31, 16, 15, 3); for (countp = 0; countp < 1000; countp++) { draw_paint(); } } } // main