[Etherlab-users] Patch for --enable-regalias
Gavin Lambert
gavin.lambert at tomra.com
Wed Dec 14 00:01:06 CET 2022
Ok, that makes more sense. Although just to avoid repeating the condition I would have written that more like this:
#ifdef EC_REGALIAS
if (slave->effective_alias == 0) {
ec_fsm_slave_scan_enter_regalias(fsm, datagram);
} else
#endif
if (slave->sii_image->sii.mailbox_protocols & EC_MBOX_COE) {
Gavin Lambert
Senior Software Developer TOMRA Fresh Food
[cid:TOMRA_CMYK_final_size_times_two_cd761a01-1d1f-446e-9316-8012271820b6.png]
[cid:TOMRA_50th-Email_Signature_Food-08_ba63a226-17be-4b94-80e3-3f48ae3d72b3.jpg]
[cid:TF-FB-icon_b77c57e4-4990-4f9d-b3a2-8e6ab45df7f2.jpg] <https://www.facebook.com/TOMRA.Food/> [cid:TF-LinkedIn-icon_d54c4829-dcb9-450c-9187-34b26e85ebaa.jpg] <https://www.linkedin.com/company/tomra-food/> [cid:TF-twitter-icon_65c62d2e-772c-4a2c-97c5-d84fbfc204d5.jpg] <https://twitter.com/TOMRAFood> [cid:TF-Youtube-icon_8b2c830c-70d9-48da-a4db-db9191d346ba.jpg] <https://www.youtube.com/playlist?list=PLDD3B1A7BAE919EC6> [cid:TOMRAinstagram_45b30c55-490a-4f32-8fd3-998c152e3494.jpg] <https://www.instagram.com/tomrafood/>
Compac Technologies Ltd | 4 Henderson Place | PO Box 13 516 | Onehunga 1061 | New Zealand
Phone: +64 96 34 00 88 | https://www.compacsort.com
The information contained in this communication and any attachment is confidential and may be legally privileged. It should only be read by the person(s) to whom it is addressed. If you have received this communication in error, please notify the sender and delete the communication.
From: Graeme Foot <Graeme.Foot at touchcut.com>
Sent: Wednesday, 14 December 2022 11:55
To: Gavin Lambert <gavin.lambert at tomra.com>; etherlab-users at etherlab.org
Subject: RE: Patch for --enable-regalias
Yip, I stuffed up that first paragraph. I blame covid brain. What I meant to say was:
This patch will read 0x0012 if the SII alias is zero, but
if it is non-zero it will continue on to entering the slave into PREOP
The patch says it all:
diff --git a/master/fsm_slave_scan.c b/master/fsm_slave_scan.c
--- a/master/fsm_slave_scan.c
+++ b/master/fsm_slave_scan.c
@@ -589,14 +589,16 @@
}
// The SII image data is already available and we can enter PREOP
#ifdef EC_REGALIAS
- ec_fsm_slave_scan_enter_regalias(fsm, datagram);
+ if (slave->effective_alias == 0) {
+ ec_fsm_slave_scan_enter_regalias(fsm, datagram);
+ } else if (slave->sii_image->sii.mailbox_protocols & EC_MBOX_COE) {
#else
if (slave->sii_image->sii.mailbox_protocols & EC_MBOX_COE) {
+#endif
ec_fsm_slave_scan_enter_preop(fsm, datagram);
} else {
fsm->state = ec_fsm_slave_scan_state_end;
}
-#endif
}
else
#endif
@@ -1384,14 +1386,16 @@
}
#ifdef EC_REGALIAS
- ec_fsm_slave_scan_enter_regalias(fsm, datagram);
+ if (slave->effective_alias == 0) {
+ ec_fsm_slave_scan_enter_regalias(fsm, datagram);
+ } else if (slave->sii_image->sii.mailbox_protocols & EC_MBOX_COE) {
#else
if (slave->sii_image->sii.mailbox_protocols & EC_MBOX_COE) {
+#endif
ec_fsm_slave_scan_enter_preop(fsm, datagram);
} else {
fsm->state = ec_fsm_slave_scan_state_end;
}
-#endif
return;
end:
Graeme.
From: Gavin Lambert <gavin.lambert at tomra.com<mailto:gavin.lambert at tomra.com>>
Sent: Wednesday, 14 December 2022 11:16
To: Graeme Foot <Graeme.Foot at touchcut.com<mailto:Graeme.Foot at touchcut.com>>; etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
Subject: RE: Patch for --enable-regalias
You're using very confusing wording, which makes it hard to understand. Admittedly I haven't reviewed the patch itself as yet.
Yes, if you have a slave that requires reading register 0x0012 then the SII
alias value will be zero. This patch will read 0x0012 if the SII alias is zero, but
if it is non-zero it will continue on to reading the 0x0012 register. Also if the
SII alias is non-zero then it should match the 0x0012 value, so reading 0x0012
is not required and can be skipped.
So it reads 0x0012 if the alias is zero, or it reads 0x0012 if the alias is non-zero, although it isn't required? This appears to be some strange usage of the word "non-zero" that I wasn't previously aware of...
This patch will also improve scan performance of -enable-regalias by
skipping reading register 0x0012 if the slave has an non-zero SII slave alias.
Also if you do not use slave aliases in your system then you are unlikely to
Require -enable-regalias for this type of slave anyway.
This is a bit clearer, but it's different from what you said in your original post.
Gavin Lambert
Senior Software Developer TOMRA Fresh Food
[cid:image001.png at 01D90FB3.9BD63650]
[cid:image002.jpg at 01D90FB3.9BD63650]
[cid:image003.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.facebook.com%2FTOMRA.Food%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LQQCE8pOSeajbnisTc2RJZARrlZ7iXBObo4B3PCJ7ho%3D&reserved=0> [cid:image004.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Ftomra-food%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Sd0bD%2BNJ8zz0aDGkMOfvqaoNDyfBuxYGOa2k5ckgQGk%3D&reserved=0> [cid:image005.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2FTOMRAFood&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IqIH07Pn39lD9YS957Y%2B9BFr%2Fl%2BhycEGLKmwpZp%2Fyp0%3D&reserved=0> [cid:image006.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLDD3B1A7BAE919EC6&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=X3VwlMQLhNHkwCVDc5%2BVeDxV6ghoIzPYdcLZNkQePjI%3D&reserved=0> [cid:image007.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.instagram.com%2Ftomrafood%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0DbSkk8gtYG6V6bpkBZuWdUar3ygNghYNVD0ZCvL%2Bxc%3D&reserved=0>
Compac Technologies Ltd | 4 Henderson Place | PO Box 13 516 | Onehunga 1061 | New Zealand
Phone: +64 96 34 00 88 | https://www.compacsort.com<https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.compacsort.com%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=clkbQzDFr9RYU14S6RSPUqAae2AfDeFqaqHvxRuqNVk%3D&reserved=0>
The information contained in this communication and any attachment is confidential and may be legally privileged. It should only be read by the person(s) to whom it is addressed. If you have received this communication in error, please notify the sender and delete the communication.
From: Graeme Foot <Graeme.Foot at touchcut.com<mailto:Graeme.Foot at touchcut.com>>
Sent: Wednesday, 14 December 2022 10:19
To: Gavin Lambert <gavin.lambert at tomra.com<mailto:gavin.lambert at tomra.com>>; etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
Subject: RE: Patch for --enable-regalias
Hi Gavin,
I've added some comments to your email below.
In summary though:
> I could perhaps understand a patch to instead only read register 0x0012 if
> the ESI alias is zero (and trust the ESI alias otherwise), to perhaps allow
> changing the alias without rebooting.
Actually this is exactly what the patch is doing.
Thanks,
Graeme.
From: Gavin Lambert <gavin.lambert at tomra.com<mailto:gavin.lambert at tomra.com>>
Sent: Tuesday, 13 December 2022 14:34
To: Graeme Foot <Graeme.Foot at touchcut.com<mailto:Graeme.Foot at touchcut.com>>; etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
Subject: RE: Patch for --enable-regalias
> I'm not sure this makes sense.
>
> Register 0x0012 is typically used for slave identification for slaves that
> have hardware switches of some kind to specify the desired alias. In almost
> all cases, these will have an SII alias of zero; as such it would be
> counterproductive to skip reading them in that case. It is usually required
> to reboot the slave to change its id switch. (See "Explicit Device
> Identification" in ETG1020 for more info.)
Yes, if you have a slave that requires reading register 0x0012 then the SII
alias value will be zero. This patch will read 0x0012 if the SII alias is zero, but
if it is non-zero it will continue on to reading the 0x0012 register. Also if the
SII alias is non-zero then it should match the 0x0012 value, so reading 0x0012
is not required and can be skipped.
> In the absence of devices that use such a hardware id selector, you should
> avoid using the -enable-regalias configuration option for improved scan
> performance.
Agreed. Unfortunately we now have a slave that requires it. This patch
Is only improving -enable-regalias, should it be enabled.
This patch will also improve scan performance of -enable-regalias by
skipping reading register 0x0012 if the slave has an non-zero SII slave alias.
Also if you do not use slave aliases in your system then you are unlikely to
Require -enable-regalias for this type of slave anyway.
> For master-based changing of the alias (e.g. via the "ethercat alias"
> command), rebooting the slave is still required and (unless the slave
> implementation has chosen otherwise) will also be reflected in register
> 0x0012, so this will work regardless of whether -enable-regalias is enabled
> or not.
The "ethercat alias" command works by writing the first 8 words into the
slaves SII. It then also updates its in memory slave->effective_alias value.
The updated SII with the new alias is available for reading immediately and
does not require the slave to be rebooted. (However you are correct that
it does need to be rebooted/reset for the 0x0012 register to be updated.)
Once the master has identified a slave by its alias it is assigned a station
address and all further EtherCAT commands then use that station address
(avoiding commands that use alias addressing).
So if you assign a slaves alias using the "ethercat alias" command (which
you would not use on slaves with dials/dipswitches) then this patch allows
the master to be rebooted without the slave needing to be rebooted
(which can easily occur if you have remote IO that is powered separately).
> I could perhaps understand a patch to instead only read register 0x0012 if
> the ESI alias is zero (and trust the ESI alias otherwise), to perhaps allow
> changing the alias without rebooting.
Actually this is exactly what the patch is doing.
> However the documentation is fairly clear that the reboot is not optional.
> Etherlab does bypass some of this requirement by only using the station
> address (not the alias) on the wire, thus making it appear as if the device
> is answering to an alias change without a reboot, but it's best not to rely
> on this sort of implementation detail.
Avoiding the need to repower a slave after setting its alias helps with machine
commissioning as setting slave aliases is usually one of multiple steps. If you
reboot the master at a later stage (without rebooting the slaves) it looks like
the slaves have mysteriously lost their aliases. This patch avoids that.
Yes, the entire system should be repowered and proved after setting aliases
but that can happen once all of the configuration is complete.
> (A slave may also choose to implement CoE object 0x10E0, which allows updating
> 0x0012 without a reboot, but this is not mandatory.)
Good to know, but it is not implemented by the slave we are using.
> Gavin Lambert
>
> Senior Software Developer TOMRA Fresh Food
[cid:image001.png at 01D90FB3.9BD63650]
[cid:image002.jpg at 01D90FB3.9BD63650]
[cid:image003.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.facebook.com%2FTOMRA.Food%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LQQCE8pOSeajbnisTc2RJZARrlZ7iXBObo4B3PCJ7ho%3D&reserved=0> [cid:image004.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Ftomra-food%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Sd0bD%2BNJ8zz0aDGkMOfvqaoNDyfBuxYGOa2k5ckgQGk%3D&reserved=0> [cid:image005.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2FTOMRAFood&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961627432%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IqIH07Pn39lD9YS957Y%2B9BFr%2Fl%2BhycEGLKmwpZp%2Fyp0%3D&reserved=0> [cid:image006.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLDD3B1A7BAE919EC6&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961783642%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=uj5TtR61aKhuqpesLt%2F%2FANttmJgm0qrjjny%2F9PBdRrk%3D&reserved=0> [cid:image007.jpg at 01D90FB3.9BD63650] <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.instagram.com%2Ftomrafood%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961783642%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=B21%2FmybLppccsDOjblJEW8yRZKPyxuwy0EpyMWdv%2B1w%3D&reserved=0>
Compac Technologies Ltd | 4 Henderson Place | PO Box 13 516 | Onehunga 1061 | New Zealand
Phone: +64 96 34 00 88 | https://www.compacsort.com<https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.compacsort.com%2F&data=05%7C01%7Cgavin.lambert%40tomra.com%7C9540a4ce797d4c92a37a08dadd5d0b8f%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C638065688961783642%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=EJ9Efso%2Bm2A8EsEzH91R43X7x2%2BE6V0i%2FY3vLOOK%2BO4%3D&reserved=0>
The information contained in this communication and any attachment is confidential and may be legally privileged. It should only be read by the person(s) to whom it is addressed. If you have received this communication in error, please notify the sender and delete the communication.
From: Graeme Foot
Sent: Tuesday, 13 December 2022 14:05
To: etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
Subject: [Etherlab-users] Patch for --enable-regalias
Hi,
I have attached a patch for the --enable-regalias option.
--enable-regalias enables reading slave aliases from register 0x0012. When enabled all slaves read 0x0012, replacing any alias value read from the SII. However, if you set a new alias on a slave (with the "ethercat alias" function) the 0x0012 register is not updated (and is readonly to the master so can't be). This requires the slave to be repowered/restarted for the register to update. So if you restart the master without repowering/restarting the slave, the master will read the old alias from the 0x0012 register.
The patch will now only read register 0x0012 if the SII alias is non-zero. This slightly shortens the slave scan for most slaves (that have aliases) and allows the master to use the correct alias on restart. However, if you are resetting the alias (setting it to zero) the slave will still require a repower/reset.
Note you shouldn't be setting aliases via the "ethercat alias" function on slaves with dials/dipswitches, or slaves that only support 0x0012 (and not SII aliases), so we can ignore any issues these slaves could have.
The patch is based on mercurial revision 2679 (33b922ec1871) and the gavinl patchset 20171108.
Regards,
Graeme Foot.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 6455 bytes
Desc: image001.png
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.jpg
Type: image/jpeg
Size: 58287 bytes
Desc: image002.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0012.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 10123 bytes
Desc: image003.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0013.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image004.jpg
Type: image/jpeg
Size: 10214 bytes
Desc: image004.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0014.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image005.jpg
Type: image/jpeg
Size: 10254 bytes
Desc: image005.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0015.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image006.jpg
Type: image/jpeg
Size: 10218 bytes
Desc: image006.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0016.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image007.jpg
Type: image/jpeg
Size: 10303 bytes
Desc: image007.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0017.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TOMRA_CMYK_final_size_times_two_cd761a01-1d1f-446e-9316-8012271820b6.png
Type: image/png
Size: 6455 bytes
Desc: TOMRA_CMYK_final_size_times_two_cd761a01-1d1f-446e-9316-8012271820b6.png
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TOMRA_50th-Email_Signature_Food-08_ba63a226-17be-4b94-80e3-3f48ae3d72b3.jpg
Type: image/jpeg
Size: 58287 bytes
Desc: TOMRA_50th-Email_Signature_Food-08_ba63a226-17be-4b94-80e3-3f48ae3d72b3.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0018.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TF-FB-icon_b77c57e4-4990-4f9d-b3a2-8e6ab45df7f2.jpg
Type: image/jpeg
Size: 10123 bytes
Desc: TF-FB-icon_b77c57e4-4990-4f9d-b3a2-8e6ab45df7f2.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0019.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TF-LinkedIn-icon_d54c4829-dcb9-450c-9187-34b26e85ebaa.jpg
Type: image/jpeg
Size: 10214 bytes
Desc: TF-LinkedIn-icon_d54c4829-dcb9-450c-9187-34b26e85ebaa.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0020.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TF-twitter-icon_65c62d2e-772c-4a2c-97c5-d84fbfc204d5.jpg
Type: image/jpeg
Size: 10254 bytes
Desc: TF-twitter-icon_65c62d2e-772c-4a2c-97c5-d84fbfc204d5.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0021.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TF-Youtube-icon_8b2c830c-70d9-48da-a4db-db9191d346ba.jpg
Type: image/jpeg
Size: 10218 bytes
Desc: TF-Youtube-icon_8b2c830c-70d9-48da-a4db-db9191d346ba.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0022.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TOMRAinstagram_45b30c55-490a-4f32-8fd3-998c152e3494.jpg
Type: image/jpeg
Size: 10303 bytes
Desc: TOMRAinstagram_45b30c55-490a-4f32-8fd3-998c152e3494.jpg
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221213/475598cf/attachment-0023.jpg>
More information about the Etherlab-users
mailing list