Advanced Search

Search Results (Searched for: )

  • endian
  • endian's Avatar
Today 17:44
Replied by endian on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

My apologize ...
sorry I can not show same speed test because I am currently weeks out of office but we can just multiply or devide values ... because it is linear dependecy during constant speed movemet ... 

I can just customize current images to show exact difference ...  compensation off ferror = 0.125mm at 15m/min ...  compensation on ferror = 0.00009028mm at 1m/min and multiply it by 15 we get 0,0013542mm which is significantly less then 0.125 ..

What I remember from testing by my short eyes it whas something near 0.001mm during that 15m/min testing was done with bentch top setup without any load presented... just AX5106 with AM8xxx motor 

but I can go home for testing this weekend to create exact speed difference testing if it is neccessary

No apologies needed [img]/media/kunena/emoticons/wink.png[/img]
 

I can understand You and YangYang, its added job, but I openly disagree ... its the best time to improve lcnc and solve it at native level for ever, no other proforma hobby solution as now my is...

it should be solution for everyone who not understand it soo well as you guys... my solution of compensation will be even more inaccurate when scurve will be done and implemented ... 

I can not say you what to do, your job, your rules, your output ... thanks for your upgrade to curving
 
  • PCW
  • PCW's Avatar
Today 17:43

Problem with Mesa 7i96s and spindle control

Category: General LinuxCNC Questions

One way to help diagnose this (assuming it's a hal issue)  is to run
LinuxCNC, and then turn on the spindle at 1/2 speed.

Then, in a terminal window, type:

halcmd show all | grep spin > spindle.txt

and post the created spindle.txt file here.
  • clayton2ndtry
  • clayton2ndtry
Today 17:36
Can't issue MDI command when not homed was created by clayton2ndtry

Can't issue MDI command when not homed

Category: AXIS

But I have homed the axis and the little diamond, or whatever it is, is showing next to it. But Touch Off gives this error message.  I have been using this INI file for months without problems. This is a Sherline mill so there are no limit switches. The only axis that homes is A, which is not connected. It homes and sets to 0.000.
  • PCW
  • PCW's Avatar
Today 17:13 - Today 17:16
Replied by PCW on topic 7i92M + 7i76 add PWM+PktUART

7i92M + 7i76 add PWM+PktUART

Category: Driver Boards

The 7I76R14.BIN image will not work as there are two program images
in the DSPIC code (the setup and working images) This is done to allow
live updates.

This is the complete 7I76 image:

 

File Attachment:

File Name: 7I76S15H1.ZIP
File Size:14 KB


 
  • mariob
  • mariob
Today 16:24

Linuxcnc erste Schritte und erste Probleme, NVEM und Remora

Category: Deutsch

Hallo,
und danke für die Antwort Luca, ich lasse mir etwas Zeit, sorry. Der Rechner läuft noch nicht wieder, ich strukturiere gerade meine EDV neu, Winterarbeit. Sobald das erledigt ist geht es hier weiter, ich melde mich, das ist bestimmt noch nicht die letzte Frage .

Gruß
Mario
  • Aciera
  • Aciera's Avatar
Today 14:24
Replied by Aciera on topic Problem with Mesa 7i96s and spindle control

Problem with Mesa 7i96s and spindle control

Category: General LinuxCNC Questions

I changed your Topic title to something more descriptive.

You might want to give some more information on your vfd and how you have wired it to your 7i96s.
  • Mark Kraus
  • Mark Kraus
Today 14:04
Replied by Mark Kraus on topic Problem with Mesa 7i96s and spindle control

Problem with Mesa 7i96s and spindle control

Category: General LinuxCNC Questions

Thank you for responding. I am sorry I did not include more info. My board is a 7i96s and now I have encoder feedback. Turns out there was a wiring error. Now I have negative values and way off when doing M3 command. I set my amt102-v to 1024ppr so i was using 4096 in pncconf. I am new to this so using pncconf appeals to me for as much of the build as I can.
I am curious if the mesa config is better than the pncconf and can I make a separate profile in it? I was working on getting the encoder working and at the same time I changed some settings and now my spindle does not work. I have the m3 come on and the vfd shows hz rising and then stabalizing but the fan on the vfd does not come on and i have no 3 phase coming out. I should not have been messing with the wiring and at the same time changing settings and will try not to do that again, but for now I dont know which one it is, the settings in pncconf or a wiring issue.
  • rodw
  • rodw's Avatar
Today 11:08

Mini PC for LinuxCNC/CPU Realtime Performance

Category: Computers and Hardware

Yes, I think people get carried away chasing the minimum. If it works without error its fine, up to about 200 usec of latency works mostly, I used 130 usec for years...
  • grandixximo
  • grandixximo's Avatar
Today 10:54
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

 

File Attachment:

File Name: luca-long-...1-29.ngc
File Size:0 KB


test with this, this is dlen2 code

 

this is without

    

we know is not ideal, but at the moment, best we can do
  • ruediger123
  • ruediger123
Today 10:12
Replied by ruediger123 on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

@grandixximo

After commenting out " || (dx - moveL <= dlen2)", the scope looks like this.
  • hhscott
  • hhscott
Today 09:31 - Today 09:35
Python Probe Screen was created by hhscott

Python Probe Screen

Category: General LinuxCNC Questions

Been working on a purely python touch and probe screen that does not alter the INI or HAL files. This supports Center of Hole, Edge detection X and Y plus and minus direction, Z touch, Boss Center location (circles, squares, rectangles), and Center of Pocket. Every touch/probe move has initial feed rate and then a second touch off at final feed rate. So far testing is going well with some minor debugging. I will soon add tool-change routines and support work fixtures as well.    
  • grandixximo
  • grandixximo's Avatar
Today 09:16
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

My apologize ...
sorry I can not show same speed test because I am currently weeks out of office but we can just multiply or devide values ... because it is linear dependecy during constant speed movemet ... 

I can just customize current images to show exact difference ...  compensation off ferror = 0.125mm at 15m/min ...  compensation on ferror = 0.00009028mm at 1m/min and multiply it by 15 we get 0,0013542mm which is significantly less then 0.125 ..

What I remember from testing by my short eyes it whas something near 0.001mm during that 15m/min testing was done with bentch top setup without any load presented... just AX5106 with AM8xxx motor 

but I can go home for testing this weekend to create exact speed difference testing if it is neccessary

No apologies needed , I discussed this with YangYang. We agree this is a real issue on some hardware, but it should not be in the TP.The TP's job is to generate a geometrically correct path with proper dynamics. It does that. The path is correct.Transport delay compensation is a communication/hardware layer problem. Different drives, different bus cycles, different delays. Some drives have 0x60B1, some don't. Some run 250µs, some run 1ms. This varies per setup.Your HAL component is the right approach. It sits between TP output and drive input, users can tune lead_cycles and kff for their specific hardware. People who need it use it, people whose drives handle it properly don't.Keep the TP clean, keep hardware compensation in HAL. Well defined purposes.
  • Aciera
  • Aciera's Avatar
Today 09:15 - Today 09:27
Replied by Aciera on topic Problem with Mesa 7i96s and spindle control

Problem with Mesa 7i96s and spindle control

Category: General LinuxCNC Questions

1. Please stop changing the 'Subject' descriptor of the thread when you add new posts. Makes it really confusing for people.

2.

Still have no clue what could be wrong.  The at speed light comes on but nothing in halshow.  Could someone please guide me?


We might be able to if you actually told us what your are trying to do. You maybe want to connect a encoder to your spindle and are not getting the 'spindle-at-speed' signal to work in hal? Hardware used (a MESA board maybe)? If so which one? 
  • meister
  • meister
Today 09:07

Solving the USB Latency Dogma for HMI/MPG: Technical Feedback Request

Category: Driver Boards


2. Closed Firmware & 'Over-engineering' I respect the Open Source philosophy, but io_decoder is a professional project that includes dedicated hardware. The 'over-engineering' you see in the HAL driver is actually optimization. While a user-space component can work, a dedicated C component ensures deterministic polling and much lower jitter. If you want a 'professional feel' on the handwheel, those milliseconds matter.



ahh, ok, This is what professional code looks like when compiling.

 halcompile --compile io_decoder.c 
Compiling realtime io_decoder.c
io_decoder.c: In function ‘usb_thread_function’:
io_decoder.c:1119:60: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
 1119 |                                         if (tx_buffer_size > sizeof(io->tx_packet_buffer)) {
      |                                                            ^
io_decoder.c:1214:80: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
 1214 |                                                                 if (parsed_len == io->usb_rx_payload_len) { //
      |                                                                                ^~
io_decoder.c:1318:31: warning: variable ‘rx_success_delta’ set but not used [-Wunused-but-set-variable]
 1318 |                         float rx_success_delta = 0;
      |                               ^~~~~~~~~~~~~~~~
io_decoder.c:1316:31: warning: variable ‘tx_success_delta’ set but not used [-Wunused-but-set-variable]
 1316 |                         float tx_success_delta = 0;
      |                               ^~~~~~~~~~~~~~~~
io_decoder.c:1313:31: warning: variable ‘rx_success’ set but not used [-Wunused-but-set-variable]
 1313 |                         float rx_success = 0;
      |                               ^~~~~~~~~~
io_decoder.c:1311:31: warning: variable ‘tx_success’ set but not used [-Wunused-but-set-variable]
 1311 |                         float tx_success = 0;
      |                               ^~~~~~~~~~
io_decoder.c:805:13: warning: unused variable ‘serial_verify’ [-Wunused-variable]
  805 |         int serial_verify;
      |             ^~~~~~~~~~~~~
io_decoder.c:783:21: warning: unused variable ‘old_usb_loop’ [-Wunused-variable]
  783 |         static long old_usb_loop;
      |                     ^~~~~~~~~~~~
io_decoder.c:776:20: warning: unused variable ‘old_pin_debug2’ [-Wunused-variable]
  776 |         static int old_pin_debug2 = 0;
      |                    ^~~~~~~~~~~~~~
io_decoder.c:775:20: warning: unused variable ‘old_hand_invalid_received’ [-Wunused-variable]
  775 |         static int old_hand_invalid_received = 0;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:773:20: warning: unused variable ‘old_hand_invalid_send’ [-Wunused-variable]
  773 |         static int old_hand_invalid_send = 0;
      |                    ^~~~~~~~~~~~~~~~~~~~~
io_decoder.c:771:20: warning: unused variable ‘old_hand_valid_received’ [-Wunused-variable]
  771 |         static int old_hand_valid_received = 0;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:769:20: warning: unused variable ‘old_hand_valid_send’ [-Wunused-variable]
  769 |         static int old_hand_valid_send = 0;
      |                    ^~~~~~~~~~~~~~~~~~~
io_decoder.c:755:16: warning: variable ‘comm_packet_received_and_validated’ set but not used [-Wunused-but-set-variable]
  755 |     static int comm_packet_received_and_validated = 0; // Per controllare il loop all'interno di COMMUNICATING
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:754:16: warning: unused variable ‘comm_packet_sent’ [-Wunused-variable]
  754 |     static int comm_packet_sent = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:751:16: warning: variable ‘error_state_comm_timeout’ set but not used [-Wunused-but-set-variable]
  751 |     static int error_state_comm_timeout = 0;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:750:16: warning: variable ‘error_state_hand_serial_read’ set but not used [-Wunused-but-set-variable]
  750 |     static int error_state_hand_serial_read = 0;; // Per seriale in handshake errata
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:749:16: warning: variable ‘error_state_payload’ set but not used [-Wunused-but-set-variable]
  749 |     static int error_state_payload = 0; // Per payload in handshake errato
      |                ^~~~~~~~~~~~~~~~~~~
io_decoder.c:748:16: warning: variable ‘error_state_firmware_2’ set but not used [-Wunused-but-set-variable]
  748 |     static int error_state_firmware_2 = 0; // Per valori funzioni dentro il firmware errate
      |                ^~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:747:16: warning: variable ‘error_state_firmware’ set but not used [-Wunused-but-set-variable]
  747 |     static int error_state_firmware = 0; // Per firmware errato
      |                ^~~~~~~~~~~~~~~~~~~~
io_decoder.c:746:16: warning: variable ‘error_state_hand_packet’ set but not used [-Wunused-but-set-variable]
  746 |     static int error_state_hand_packet = 0; // Per pacchetto di handshake di lunghezza non corrispondente
      |                ^~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:745:16: warning: variable ‘error_state_serial_configure’ set but not used [-Wunused-but-set-variable]
  745 |     static int error_state_serial_configure = 0; // Per seriale non configurata
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:743:16: warning: unused variable ‘error_state_dbg_printed’ [-Wunused-variable]
  743 |     static int error_state_dbg_printed = 0; // Per HAL_STATE_ERROR (primo ingresso)
      |                ^~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:740:16: warning: unused variable ‘handshake_response_dbg_printed’ [-Wunused-variable]
  740 |     static int handshake_response_dbg_printed = 0; // Per HAL_STATE_HANDSHAKE_WAIT_RESPONSE
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:739:16: warning: unused variable ‘handshake_init_dbg_printed’ [-Wunused-variable]
  739 |     static int handshake_init_dbg_printed = 0; // Per HAL_STATE_HANDSHAKE_INIT
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:737:16: warning: unused variable ‘timer_overflow_5’ [-Wunused-variable]
  737 |     static int timer_overflow_5 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:735:16: warning: unused variable ‘timer_overflow_3’ [-Wunused-variable]
  735 |     static int timer_overflow_3 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:734:16: warning: unused variable ‘timer_overflow_2’ [-Wunused-variable]
  734 |     static int timer_overflow_2 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:733:16: warning: unused variable ‘timer_overflow_1’ [-Wunused-variable]
  733 |     static int timer_overflow_1 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:732:16: warning: unused variable ‘timer_overflow_0’ [-Wunused-variable]
  732 |     static int timer_overflow_0 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:724:17: warning: variable ‘last_read_time_ns’ set but not used [-Wunused-but-set-variable]
  724 |     static long last_read_time_ns; // Inizializza al tempo corrente
      |                 ^~~~~~~~~~~~~~~~~
io_decoder.c:720:10: warning: unused variable ‘next_handshake_attempt_time_ns’ [-Wunused-variable]
  720 |     long next_handshake_attempt_time_ns = 0; // Tempo per il prossimo tentativo di handshake
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c: In function ‘npic_in_routine’:
io_decoder.c:1443:72: warning: unused parameter ‘length’ [-Wunused-parameter]
 1443 | uint8_t npic_in_routine(hal_io_decoder_t *io, uint8_t* buffer, uint8_t length) {
      |                                                                ~~~~~~~~^~~~~~
io_decoder.c: In function ‘npic_out_routine’:
io_decoder.c:1494:68: warning: unused parameter ‘length’ [-Wunused-parameter]
 1494 | void npic_out_routine(hal_io_decoder_t *io, uint8_t* dato, uint8_t length) {
      |                                                            ~~~~~~~~^~~~~~
io_decoder.c: In function ‘encoder_routine’:
io_decoder.c:1577:9: warning: unused variable ‘encoder_delta_from_arduino’ [-Wunused-variable]
 1577 |     int encoder_delta_from_arduino; // Questo sarà il valore decodificato (il "delta")
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c: In function ‘adc_routine’:
io_decoder.c:1770:57: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
 1770 |                                 if ((io->adc_raw_joy[i] <= joy_center_plus) && (io->adc_raw_joy[i] >= joy_center_minus)) {
      |                                                         ^~
io_decoder.c:1770:100: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
 1770 |                                 if ((io->adc_raw_joy[i] <= joy_center_plus) && (io->adc_raw_joy[i] >= joy_center_minus)) {
      |                                                                                                    ^~
io_decoder.c:1778:48: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
 1778 |                         if (io->adc_raw_joy[i] > (joy_center_plus)) {
      |                                                ^
io_decoder.c:1784:55: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
 1784 |                         } else if (io->adc_raw_joy[i] < (joy_center_minus)) {
      |                                                       ^
io_decoder.c:1680:17: warning: unused variable ‘joy_offset’ [-Wunused-variable]
 1680 |         int32_t joy_offset;
      |                 ^~~~~~~~~~
io_decoder.c:1678:10: warning: unused variable ‘overflow_period_ns’ [-Wunused-variable]
 1678 |     long overflow_period_ns = 20 * 1000 * 1000; // Periodo di 20ms per resettare l'overflow
      |          ^~~~~~~~~~~~~~~~~~
io_decoder.c: In function ‘DAC_out_routine’:
io_decoder.c:1874:13: warning: unused variable ‘i’ [-Wunused-variable]
 1874 |         int i;
      |             ^
io_decoder.c: In function ‘in_expansion_routine’:
io_decoder.c:1918:13: warning: unused variable ‘current_value’ [-Wunused-variable]
 1918 |     float_t current_value = 0; // Useremo un int32_t per gestire il valore
      |             ^~~~~~~~~~~~~
io_decoder.c:1917:13: warning: unused variable ‘bytesWritten’ [-Wunused-variable]
 1917 |     uint8_t bytesWritten = 0; // Contatore dei byte letti dal buffer
      |             ^~~~~~~~~~~~
io_decoder.c:1916:13: warning: unused variable ‘i’ [-Wunused-variable]
 1916 |         int i;
      |             ^
io_decoder.c:1914:61: warning: unused parameter ‘buffer’ [-Wunused-parameter]
 1914 | uint8_t in_expansion_routine(hal_io_decoder_t *io, uint8_t* buffer, uint8_t length) {
      |                                                    ~~~~~~~~~^~~~~~
io_decoder.c:1914:77: warning: unused parameter ‘length’ [-Wunused-parameter]
 1914 | uint8_t in_expansion_routine(hal_io_decoder_t *io, uint8_t* buffer, uint8_t length) {
      |                                                                     ~~~~~~~~^~~~~~
io_decoder.c: In function ‘out_expansion_routine’:
io_decoder.c:1951:13: warning: unused variable ‘current_value’ [-Wunused-variable]
 1951 |     float_t current_value = 0; // Useremo un int32_t per gestire il valore
      |             ^~~~~~~~~~~~~
io_decoder.c:1950:13: warning: unused variable ‘bytesWritten’ [-Wunused-variable]
 1950 |     uint8_t bytesWritten = 0; // Contatore dei byte letti dal buffer
      |             ^~~~~~~~~~~~
io_decoder.c:1949:13: warning: unused variable ‘i’ [-Wunused-variable]
 1949 |         int i;
      |             ^
io_decoder.c:1947:59: warning: unused parameter ‘dato’ [-Wunused-parameter]
 1947 | void out_expansion_routine(hal_io_decoder_t *io, uint8_t* dato, uint8_t length) {
      |                                                  ~~~~~~~~~^~~~
io_decoder.c:1947:73: warning: unused parameter ‘length’ [-Wunused-parameter]
 1947 | void out_expansion_routine(hal_io_decoder_t *io, uint8_t* dato, uint8_t length) {
      |                                                                 ~~~~~~~~^~~~~~
io_decoder.c: In function ‘key_simulation_loop’:
io_decoder.c:2032:53: warning: variable ‘suppress_base_key’ set but not used [-Wunused-but-set-variable]
 2032 |                                                 int suppress_base_key = 0; // 0 = false, 1 = true
      |                                                     ^~~~~~~~~~~~~~~~~
io_decoder.c:2004:9: warning: unused variable ‘send_status’ [-Wunused-variable]
 2004 |     int send_status;
      |         ^~~~~~~~~~~
io_decoder.c:2001:13: warning: unused variable ‘bitValue’ [-Wunused-variable]
 2001 |     uint8_t bitValue;
      |             ^~~~~~~~
io_decoder.c: In function ‘calc_io_decoder’:
io_decoder.c:2421:45: warning: unused parameter ‘period’ [-Wunused-parameter]
 2421 | static void calc_io_decoder(void *arg, long period) {
      |                                        ~~~~~^~~~~~
io_decoder.c: In function ‘rtapi_app_main’:
io_decoder.c:2484:28: warning: unused variable ‘uidev’ [-Wunused-variable]
 2484 |     struct uinput_user_dev uidev;
      |                            ^~~~~
io_decoder.c:2471:20: warning: unused variable ‘i’ [-Wunused-variable]
 2471 |     int n, retval, i;
      |                    ^
io_decoder.c: In function ‘npic_in_routine’:
io_decoder.c:1491:1: warning: control reaches end of non-void function [-Wreturn-type]
 1491 | }
      | ^
io_decoder.c: In function ‘adc_routine’:
io_decoder.c:1870:1: warning: control reaches end of non-void function [-Wreturn-type]
 1870 | }
      | ^
io_decoder.c: In function ‘in_expansion_routine’:
io_decoder.c:1945:1: warning: control reaches end of non-void function [-Wreturn-type]
 1945 | }
      | ^
io_decoder.c: At top level:
io_decoder.c:732:16: warning: ‘timer_overflow_0’ defined but not used [-Wunused-variable]
  732 |     static int timer_overflow_0 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:733:16: warning: ‘timer_overflow_1’ defined but not used [-Wunused-variable]
  733 |     static int timer_overflow_1 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:734:16: warning: ‘timer_overflow_2’ defined but not used [-Wunused-variable]
  734 |     static int timer_overflow_2 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:735:16: warning: ‘timer_overflow_3’ defined but not used [-Wunused-variable]
  735 |     static int timer_overflow_3 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:737:16: warning: ‘timer_overflow_5’ defined but not used [-Wunused-variable]
  737 |     static int timer_overflow_5 = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:739:16: warning: ‘handshake_init_dbg_printed’ defined but not used [-Wunused-variable]
  739 |     static int handshake_init_dbg_printed = 0; // Per HAL_STATE_HANDSHAKE_INIT
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:740:16: warning: ‘handshake_response_dbg_printed’ defined but not used [-Wunused-variable]
  740 |     static int handshake_response_dbg_printed = 0; // Per HAL_STATE_HANDSHAKE_WAIT_RESPONSE
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:743:16: warning: ‘error_state_dbg_printed’ defined but not used [-Wunused-variable]
  743 |     static int error_state_dbg_printed = 0; // Per HAL_STATE_ERROR (primo ingresso)
      |                ^~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:754:16: warning: ‘comm_packet_sent’ defined but not used [-Wunused-variable]
  754 |     static int comm_packet_sent = 0;
      |                ^~~~~~~~~~~~~~~~
io_decoder.c:769:20: warning: ‘old_hand_valid_send’ defined but not used [-Wunused-variable]
  769 |         static int old_hand_valid_send = 0;
      |                    ^~~~~~~~~~~~~~~~~~~
io_decoder.c:771:20: warning: ‘old_hand_valid_received’ defined but not used [-Wunused-variable]
  771 |         static int old_hand_valid_received = 0;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:773:20: warning: ‘old_hand_invalid_send’ defined but not used [-Wunused-variable]
  773 |         static int old_hand_invalid_send = 0;
      |                    ^~~~~~~~~~~~~~~~~~~~~
io_decoder.c:775:20: warning: ‘old_hand_invalid_received’ defined but not used [-Wunused-variable]
  775 |         static int old_hand_invalid_received = 0;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:776:20: warning: ‘old_pin_debug2’ defined but not used [-Wunused-variable]
  776 |         static int old_pin_debug2 = 0;
      |                    ^~~~~~~~~~~~~~
io_decoder.c:783:21: warning: ‘old_usb_loop’ defined but not used [-Wunused-variable]
  783 |         static long old_usb_loop;
      |                     ^~~~~~~~~~~~
io_decoder.c:643:14: warning: ‘format_buffer_for_debug’ defined but not used [-Wunused-function]
  643 | static char* format_buffer_for_debug(const unsigned char *buffer, int len) {
      |              ^~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:148:12: warning: ‘printed_debug’ defined but not used [-Wunused-variable]
  148 | static int printed_debug[100] = {0};    //serve a creare uno stop alle scritte di debug
      |            ^~~~~~~~~~~~~
io_decoder.c: In function ‘usb_thread_function’:
io_decoder.c:1297:28: warning: ‘usb2_current_time_ns’ may be used uninitialized [-Wmaybe-uninitialized]
 1297 |         usb_jitter_time_ns = usb_current_time_ns - usb2_current_time_ns;
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:729:10: note: ‘usb2_current_time_ns’ was declared here
  729 |     long usb2_current_time_ns;
      |          ^~~~~~~~~~~~~~~~~~~~
io_decoder.c:1297:28: warning: ‘usb_current_time_ns’ may be used uninitialized [-Wmaybe-uninitialized]
 1297 |         usb_jitter_time_ns = usb_current_time_ns - usb2_current_time_ns;
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:728:10: note: ‘usb_current_time_ns’ was declared here
  728 |     long usb_current_time_ns;
      |          ^~~~~~~~~~~~~~~~~~~
io_decoder.c:1308:38: warning: ‘next_parse_error_time_ns’ may be used uninitialized [-Wmaybe-uninitialized]
 1308 |                 if ((current_time_ns - next_parse_error_time_ns) > parse_error_time_ns) {
      |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c:726:10: note: ‘next_parse_error_time_ns’ was declared here
  726 |     long next_parse_error_time_ns;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
io_decoder.c: In function ‘npic_out_routine’:
io_decoder.c:1550:107: warning: ‘freq_conversion’ may be used uninitialized [-Wmaybe-uninitialized]
 1550 |                                                 if (current_time_ns > (io->out_blink_time_ns[current_bit] + freq_conversion)) {
      |                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
io_decoder.c:1503:10: note: ‘freq_conversion’ was declared here
 1503 |     long freq_conversion;
      |          ^~~~~~~~~~~~~~~
Linking io_decoder.so


“Bare-Metal” Firmware (No Bootloader)

We have removed the Arduino bootloader for two critical reasons:

Safety: No random pin state changes during startup (typical of bootloaders).
Speed: The board is operational within a few milliseconds.


what about updates ?
  • unknown
  • unknown
Displaying 1 - 15 out of 281922 results.
Time to create page: 2.166 seconds
Powered by Kunena Forum