Code review comment for lp:~al-lunev/kicad/pcad2kicad-pcb-plugin-only

Revision history for this message
jean-pierre charras (jp-charras) wrote :

Le 07/10/2012 11:10, jean-pierre charras a écrit :
> Le 06/10/2012 20:34, Alexander Lunev a écrit :
>> Review: Resubmit
>>
>> The error "XML parsing error not well formed (invalid token) at line 7864" it appears for wxWidgets 2.9.4. There is no error if wxWidgets 2.8.12 is used.
>> When I started applying DSNLEXER I found that CK1202_V1.pcb sample board and many others contain nulls in the lines and could not be read. So I think that wxXmlDocument might be affected as well.
>>
>> The recent changes:
>> 1) supported the ability to read lines containing nulls by FILE_LINE_READER class
>> 2) applied S-expressions DSNLEXER to load P-Cad ASCII files
>> 3) supported multilayer boards and plane objects of plane (inverted) layers
>>
>
> Thanks.
>
> I have an issue under Mingw:
> the C function getline does not exists.
> (It seems existing only under Linux /GCC)
>
> Here is the error message:
> f:/kicad-launchpad/pcad2kicad/common/richio.cpp: In member function 'virtual size_t FILE_LINE_READER::ReadLine()':
> f:/kicad-launchpad/pcad2kicad/common/richio.cpp:116:54: error: 'getline' was not declared in this scope
> f:/kicad-launchpad/pcad2kicad/common/richio.cpp:116:54: note: suggested alternative:
> d:\mingw\bin\../lib/gcc/mingw32/4.6.1/include/c++/bits/basic_string.h:2735:50: note: 'std::getline'
> make[2]: *** [common/CMakeFiles/common.dir/richio.cpp.obj] Error 1
>

I tested Pcad2kicad under Linux (Ubuntu 10.10), using CK1202_V1.pcb
It compiles and runs.

However a first trial shows some issues:
1 - Tracks on copper layers have a width = 0.
Some tracks (I am thinking) are not on a copper layer (they are on the drawings layers, and have a width.)
2 - Many pads are through-hole, but do not have a hole.
 a - the mask layer of these pads is incorrect (0x8001),
 but a through-hole pad should have a copper mask layer = 0xFFFF,
 regardless the number of copper layers of the board, because it is on all copper layers),
 b - these pads should have a non null hole diameter, to connect the different layers
 A pad with no hole should be only a smd pad.

--
Jean-Pierre CHARRAS

« Back to merge proposal