the m_Layer parametre is the layer for tracks only.
for vias, m_Layer is the layer pair: an a via is on all layers from a
starting layer to an ending layer
4 bits are for the starting layer and 4 bits are for the ending layer:
if m_Layer is 0x0F:
for a track, the meaning is : track is on layer 15 (component)
for a via, the meaning is : via is on all layers, FROM layer 0
(copper) TO layer 15 (component)
Vias "through" connect All layers (for pcbnew from copper to component
layer, because copper is the layer 0 and component is the layer 15).
And therefore the m_Layer param always is 0x0F ( or 0xF0 , which is
equivalent)
The layer pair choice allows you only to switch easily from a layer to
the other layer for the tracks.
But vias are from layer 0 to layer 15 (from copper to component).
Only blind vias or buried vias must be from layer n to layer m (n and m
= 0 ..15)
But blind vias or buried vias are experimental features, not really
tested, and excellon files do not support them.
(because only few manufacturers are able to made borads with these vias)
and i don't made any board with thes vias.
You *** MUST *** have all yours vias with layer from 0 to 15 (m_Layer =
15).