Arctic_Eddie
Well-known member
What is the monitor baud value and can it be set to some other value?
Those posts also discussed how you can use a "self administred" MAC address - there are two bits in the MSB of the MAC that say it's self-administered not assigned by the IEEE or manufacturer.
https://en.wikipedia.org/wiki/MAC_address
Universally administered and locally administered addresses are distinguished by setting the second-least-significant bit of the most significant byte of the address. This bit is also referred to as the U/L bit, short for Universal/Local, which identifies how the address is administered. If the bit is 0, the address is universally administered. If it is 1, the address is locally administered. In the example address 06-00-00-00-00-00 the most significant byte is 06 (hex), the binary form of which is 00000110, where the second-least-significant bit is 1. Therefore, it is a locally administered address. Consequently, this bit is 0 in all OUIs.
If the least significant bit of the most significant octet of an address is set to 0 (zero), the frame is meant to reach only one receiving NIC. This type of transmission is called unicast. A unicast frame is transmitted to all nodes within the collision domain, which typically ends at the nearest network switch or router. A switch will forward a unicast frame through all of its ports (except for the port that originated the frame) if the switch has no knowledge of which port leads to that MAC address, or just to the proper port if it does have knowledge. Only the node with the matching hardware MAC address will accept the frame; network frames with non-matching MAC-addresses are ignored, unless the device is in promiscuous mode.
Are you talking about this?
the second-least-significant bit of the most significant byte of the address ... If it is 1, the address is locally administered. In the example address 06-00-00-00-00-00 the most significant byte is 06 (hex), the binary form of which is 00000110, where the second-least-significant bit is 1. Therefore, it is a locally administered address
I should have noted C> in my post #235 above: Tyqt might indicate or give preference to 'bootloader mode' devices or when a button is pushed when the select dialog is up? That could lead to trouble like with single minded TeensyDuino - but sometimes it helps identify the right device? Maybe just color change devices in bootloader state?
Koromix - what does TYQT do when presented with a -1 serial #? I assume multiple such devices would get confused?
Context menus in the latest build, as requested. That took some very complex and skillful programming ;D
Well the icon changes to a "house" in bootloader mode, although it remains black. I prefer to reserve colors for ponctual states (orange = working / red = error).
It does nothing special. Multiples devices with the same serial number won't get confused while TyQt is running because the USB topology information is used to follow boards across resets. However, persistent settings and labels use the serial number, so after you restart TyQt your custom settings will get mixed.
As for why you get a "-1", either that's what the board is presenting, or it is possible that the current Win32 enumeration code is wrong. You'd think that getting the descriptors and the S/N of a USB device would be straightworward... well, it is except on Win32. The mix of SetupAPI / Configuration Manager / registry you need to do that is just a mess. Though I probably need to refactor that code a little bit, as it was made by a lot of trial & error.
windows/DOS did or still does use CR/LF by default. Most terminal programs have an option choice of LF, CR and auto-insert LF, or CR/LF. I use Bray's Terminal a lot.You should use "\n" (LF) or "\r\n" (CRLF) for newlines. The first is the standard newline character on Unix derivatives, the combined form tends to be used on DOS and Windows. Both should work the same in Arduino and TyQt.
I don't recall ever reading about a platform using "\n\r" although I would not be surprised if it got used on obscure long-obsoleted platforms. "\r" was used by Apple before Mac OS X, now it will just bring you a lot of pain as each software will treat it differently.
14==pin, val==0
15==pin, val==0
16==pin, val==113
17==pin, val==1023
18==pin, val==1023
19==pin, val==417
20==pin, val==293
21==pin, val==1023
22==pin, val==339
23==pin, val==200
-------
-------
14==pin, val==0
15==pin, val==0
16==pin, val==169
17==pin, val==1023
19==pin, val==433 <<---------------
18==pin, val==1023
20==pin, val==204
21==pin, val==1023
22==pin, val==331
23==pin, val==252
-------
-------
#define analogInputs 10
// int inputAnalog[analogInputs];
[B]int inputAnalog[analogInputs*3];[/B] // BUG BUG - played games below with i
// index variable for loop
int i;
void setup() {
Serial.begin(31250);
while ( !Serial && (millis() < 4000 ));
}
void loop() {
// loop trough active inputs
for (i = 14; i < (14 + analogInputs); i++) {
// read current value at i-th input
inputAnalog[i] = analogRead(i);
Serial.print( i );
Serial.print( "==pin, val==" );
Serial.println( inputAnalog[i] );
delay(25);
}
Serial.println( "-------" );
Serial.println( "-------\n" );
delay(5000);
}
#define analogInputs 10
int inputAnalog[analogInputs];
// index variable for loop
int i;
void setup() {
Serial.begin(31250);
while ( !Serial && (millis() < 4000 ));
}
void loop() {
// loop trough active inputs
for (i = 14; i < (14 + analogInputs); i++) {
// read current value at i-th input
[B]inputAnalog[i] = analogRead(i);[/B] // out of bound
Serial.print( i );
Serial.print( "==pin, val==" );
[B]Serial.println( inputAnalog[i] );[/B] // out of bound
delay(25);
}
Serial.println( "-------" );
Serial.println( "-------\n" );
delay(5000);
}
This is the link I use. Go to the bottom of the page for the latest.